From 6763443df0f32f7458a23f8111149a47e00d6fd5 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Fri, 27 Mar 2020 14:12:39 +0100 Subject: [PATCH] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The symbols œ/Œ and †/‡ have switched placed, this for convenience in regard to the already existing US QWERTY variants on GNU/Linux. --- UltimateKEYS - 2020-03-27.ahk | 1208 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-03-27.klc | Bin 0 -> 71884 bytes 2 files changed, 1208 insertions(+) create mode 100644 UltimateKEYS - 2020-03-27.ahk create mode 100644 UltimateKEYS - 2020-03-27.klc diff --git a/UltimateKEYS - 2020-03-27.ahk b/UltimateKEYS - 2020-03-27.ahk new file mode 100644 index 0000000..dcd48fd --- /dev/null +++ b/UltimateKEYS - 2020-03-27.ahk @@ -0,0 +1,1208 @@ +; UltimateKEYS - 2020-03-27.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 ring above +dkRingDotAbove.item("å") := "ẇ" ; w with dot above +dkRingDotAbove.item("Å") := "Ẇ" ; W with dot above +dkRingDotAbove.item("x") := "ẋ" ; x with dot above +dkRingDotAbove.item("X") := "Ẋ" ; X with dot above +dkRingDotAbove.item("y") := "ẙ" ; y with ring above +dkRingDotAbove.item("ÿ") := "ẏ" ; y with dot above +dkRingDotAbove.item("Ÿ") := "Ẏ" ; Y with dot 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("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("ü") := "ʊ" ; latin small letter upsilon +dkBreveSpecial.item("Ü") := "Ʊ" ; 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("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") := "№" ; numero sign +dkNotSign.item("2") := "½" ; vulgar fraction 1/2 +dkNotSign.item("3") := "⅓" ; vulgar fraction 1/3 +dkNotSign.item("4") := "¼" ; vulgar fraction 1/4 +dkNotSign.item("5") := "⅔" ; vulgar fraction 2/3 +dkNotSign.item("6") := "¾" ; vulgar fraction 3/4 +dkNotSign.item("7") := "⅛" ; vulgar fraction 1/8 +dkNotSign.item("8") := "⅜" ; vulgar fraction 3/8 +dkNotSign.item("9") := "⅝" ; vulgar fraction 5/8 +dkNotSign.item("0") := "⅞" ; vulgar fraction 7/8 +dkNotSign.item(".") := "•" ; bullet +dkNotSign.item("-") := "⁃" ; hyphen bullet +dkNotSign.item("\") := "⁞" ; vertical four dots +dkNotSign.item("|") := "⁞" ; vertical four dots +dkNotSign.item(" ") := "¬" ; not sign + + +; Dead Key : Broken Bar + +dkBrokenBar := ComObjCreate("Scripting.Dictionary") +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("g") := "ɠ" ; g with hook +dkBrokenBar.item("G") := "Ɠ" ; G with hook +dkBrokenBar.item("h") := "❦" ; floral heart +dkBrokenBar.item("H") := "❧" ; rotated floral heart bullet +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("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") := "←" ; leftwards arrow +dkBrokenBar.item("2") := "↓" ; downwards arrow +dkBrokenBar.item("3") := "↑" ; upwards arrow +dkBrokenBar.item("4") := "→" ; rightwards arrow +dkBrokenBar.item("5") := "↖" ; north west arrow +dkBrokenBar.item("6") := "↙" ; south west arrow +dkBrokenBar.item("7") := "↗" ; north east arrow +dkBrokenBar.item("8") := "↘" ; south east arrow +dkBrokenBar.item("9") := "↕" ; up down arrow +dkBrokenBar.item("0") := "↨" ; up down arrow with base +dkBrokenBar.item("=") := "↔" ; left right arrow +dkBrokenBar.item("!") := "⇐" ; leftwards double arrow +dkBrokenBar.item("@") := "⇓" ; downwards double arrow +dkBrokenBar.item("#") := "⇑" ; upwards double arrow +dkBrokenBar.item("$") := "⇒" ; rightwards double arrow +dkBrokenBar.item("%") := "⇖" ; north west double arrow +dkBrokenBar.item("^") := "⇙" ; south west double arrow +dkBrokenBar.item("&") := "⇗" ; north east double arrow +dkBrokenBar.item("*") := "⇘" ; south east double arrow +dkBrokenBar.item("(") := "⇕" ; up down double arrow +dkBrokenBar.item(")") := "↲" ; downwards arrow with tip leftwards +dkBrokenBar.item("+") := "⇔" ; left right double arrow +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") := "℘" ; script capital p +dkMathSymbols.item("^") := "℘" ; script capital p +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("\") := "∨" ; 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-03-27.klc b/UltimateKEYS - 2020-03-27.klc new file mode 100644 index 0000000000000000000000000000000000000000..f745f660aa80c21d29735f2937626569f9df2a55 GIT binary patch literal 71884 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%0DBu>5kw$b$Z5X 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 literal 0 HcmV?d00001 -- 2.47.3