From 43d38c21865b92d141e02884eda5748331564911 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Sun, 12 Apr 2020 20:26:58 +0200 Subject: [PATCH 1/1] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The following symbols have been added : ‼ : double exclamation mark ‽ : interrobang ⸘ : inverted interrobang --- UltimateKEYS - 2020-04-12.ahk | 1227 ++++++++++++++++++++++++++++ UltimateKEYS - 2020-04-12.klc | Bin 0 -> 73644 bytes UltimateKEYS SW - 2020-04-12.ahk | 1290 ++++++++++++++++++++++++++++++ UltimateKEYS SW - 2020-04-12.klc | Bin 0 -> 76008 bytes 4 files changed, 2517 insertions(+) create mode 100644 UltimateKEYS - 2020-04-12.ahk create mode 100644 UltimateKEYS - 2020-04-12.klc create mode 100644 UltimateKEYS SW - 2020-04-12.ahk create mode 100644 UltimateKEYS SW - 2020-04-12.klc diff --git a/UltimateKEYS - 2020-04-12.ahk b/UltimateKEYS - 2020-04-12.ahk new file mode 100644 index 0000000..6fe4b98 --- /dev/null +++ b/UltimateKEYS - 2020-04-12.ahk @@ -0,0 +1,1227 @@ +; UltimateKEYS - 2020-04-12.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 dot above +dkRingDotAbove.item("A") := "Ȧ" ; A with dot above +dkRingDotAbove.item("ä") := "å" ; a with ring above +dkRingDotAbove.item("Ä") := "Å" ; A with ring 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("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("\") := "⁞" ; 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("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("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") := "℘" ; Weierstrass elliptic function +dkMathSymbols.item("^") := "℘" ; Weierstrass elliptic function +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") := "∠" ; angle symbol +dkMathSymbols.item(")") := "∡" ; 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-04-12.klc b/UltimateKEYS - 2020-04-12.klc new file mode 100644 index 0000000000000000000000000000000000000000..017a41795441c93ae47112f883a5d7ea1e097d9a GIT binary patch literal 73644 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") := "≥" ; 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-04-12.klc b/UltimateKEYS SW - 2020-04-12.klc new file mode 100644 index 0000000000000000000000000000000000000000..853ae1141d00f49d5de2608ed507e9176777ec91 GIT binary patch literal 76008 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 literal 0 HcmV?d00001 -- 2.47.3