From c6e370a8bbfec7db2e40f2a04ea796679c054d31 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Thu, 27 Feb 2020 12:32:20 +0100 Subject: [PATCH 1/1] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The translingual letter ǭ/Ǭ has now been added to both the dead keys for macron and ogonek. --- UltimateKEYS - 2020-02-27.ahk | 1172 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-02-27.klc | Bin 0 -> 69142 bytes 2 files changed, 1172 insertions(+) create mode 100644 UltimateKEYS - 2020-02-27.ahk create mode 100644 UltimateKEYS - 2020-02-27.klc diff --git a/UltimateKEYS - 2020-02-27.ahk b/UltimateKEYS - 2020-02-27.ahk new file mode 100644 index 0000000..efcfc0a --- /dev/null +++ b/UltimateKEYS - 2020-02-27.ahk @@ -0,0 +1,1172 @@ +; UltimateKEYS - 2020-02-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("z") := "ž" ; z with caron +dkCaron.item("Z") := "Ž" ; Z 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 + +dkMacron := ComObjCreate("Scripting.Dictionary") +dkMacron.item("a") := "ā" ; a with macron +dkMacron.item("A") := "Ā" ; A with macron +dkMacron.item("æ") := "ǣ" ; ae with macron +dkMacron.item("Æ") := "Ǣ" ; AE with macron +dkMacron.item("b") := "ƀ" ; b with stroke +dkMacron.item("B") := "Ƀ" ; B with stroke +dkMacron.item("d") := "đ" ; d with stroke +dkMacron.item("D") := "Đ" ; D with stroke +dkMacron.item("e") := "ē" ; e with macron +dkMacron.item("E") := "Ē" ; E with macron +dkMacron.item("g") := "ḡ" ; g with macron +dkMacron.item("G") := "Ḡ" ; G with macron +dkMacron.item("é") := "ǥ" ; g with stroke (Skolt Sami) +dkMacron.item("É") := "Ǥ" ; G with stroke (Skolt Sami) +dkMacron.item("h") := "ħ" ; h with stroke (Maltese) +dkMacron.item("H") := "Ħ" ; H with stroke (Maltese) +dkMacron.item("i") := "ī" ; i with macron +dkMacron.item("I") := "Ī" ; I with macron +dkMacron.item("l") := "ł" ; l with stroke +dkMacron.item("L") := "Ł" ; L with stroke +dkMacron.item("ø") := "ḻ" ; l with line below +dkMacron.item("Ø") := "Ḻ" ; L with line below +dkMacron.item("o") := "ō" ; o with macron +dkMacron.item("O") := "Ō" ; O with macron +dkMacron.item("ö") := "ǭ" ; o with ogonek and macron +dkMacron.item("Ö") := "Ǭ" ; O with ogonek and macron +dkMacron.item("t") := "ŧ" ; t with stroke +dkMacron.item("T") := "Ŧ" ; T with stroke +dkMacron.item("u") := "ū" ; u with macron +dkMacron.item("U") := "Ū" ; U with macron +dkMacron.item("y") := "ȳ" ; y with macron +dkMacron.item("Y") := "Ȳ" ; Y with macron +dkMacron.item("z") := "ƶ" ; z with stroke +dkMacron.item("Z") := "Ƶ" ; Z with stroke +dkMacron.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(".") := "˛" ; 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("z") := "ʒ" ; small letter ezh +dkBreveSpecial.item("Z") := "Ʒ" ; capital letter ezh +dkBreveSpecial.item("à") := "ǯ" ; small letter ezh with caron +dkBreveSpecial.item("À") := "Ǯ" ; capital letter ezh with caron +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("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("e") := "é" ; e with acute +dkAcuteAccent.item("E") := "É" ; E with acute +dkAcuteAccent.item("g") := "ǵ" ; g with acute +dkAcuteAccent.item("G") := "Ǵ" ; G with acute +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 acute +dkAcuteAccent.item("K") := "Ḱ" ; K with acute +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 acute +dkAcuteAccent.item("P") := "Ṕ" ; P with acute +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("u") := "ú" ; u with acute +dkAcuteAccent.item("U") := "Ú" ; U with acute +dkAcuteAccent.item("ü") := "ű" ; u with double acute +dkAcuteAccent.item("Ü") := "Ű" ; U with double acute +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("8") := "♪" ; eighth note +dkAcuteAccent.item("*") := "♫" ; beamed eighth notes +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("``") := "``" ; 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("b") := "ɓ" ; b with hook +dkBrokenBar.item("B") := "Ɓ" ; B with hook +dkBrokenBar.item("c") := "ƈ" ; c with hook +dkBrokenBar.item("C") := "Ƈ" ; C with hook +dkBrokenBar.item("d") := "ɗ" ; d with hook +dkBrokenBar.item("D") := "Ɗ" ; D with hook +dkBrokenBar.item("e") := "ɛ" ; small open e (latin small epsilon) +dkBrokenBar.item("E") := "Ɛ" ; capital open E (latin capital epsilon) +dkBrokenBar.item("f") := "ƒ" ; f with hook +dkBrokenBar.item("F") := "Ƒ" ; F with hook +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 hook +dkBrokenBar.item("K") := "Ƙ" ; K with hook +dkBrokenBar.item("n") := "ɲ" ; n with left hook +dkBrokenBar.item("N") := "Ɲ" ; N with left hook +dkBrokenBar.item("o") := "ơ" ; o with horn +dkBrokenBar.item("O") := "Ơ" ; O with horn +dkBrokenBar.item("p") := "ƥ" ; p with hook +dkBrokenBar.item("P") := "Ƥ" ; P with hook +dkBrokenBar.item("s") := "ʃ" ; small letter esh +dkBrokenBar.item("S") := "Ʃ" ; capital letter esh +dkBrokenBar.item("ß") := "ſ" ; small long s +dkBrokenBar.item("t") := "ƭ" ; t with hook +dkBrokenBar.item("T") := "Ƭ" ; T with hook +dkBrokenBar.item("u") := "ư" ; u with horn +dkBrokenBar.item("U") := "Ư" ; U with horn +dkBrokenBar.item("v") := "ʋ" ; v with hook +dkBrokenBar.item("V") := "Ʋ" ; V with hook +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 + +>!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 + +>!p:: + if GetKeyState("CapsLock", "T") + Send Œ ; ligature OE + else + Send œ ; ligature oe +return +>!+p:: + if GetKeyState("CapsLock", "T") + Send œ ; ligature oe + else + Send Œ ; ligature OE +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 + +>!k::Send † ; dagger +>!+k::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 % dkMacron.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   ; no-break space +>!+space::Send   ; no-break space diff --git a/UltimateKEYS - 2020-02-27.klc b/UltimateKEYS - 2020-02-27.klc new file mode 100644 index 0000000000000000000000000000000000000000..562cc3f8766f999b760ba40bb6040797ef397d0f GIT binary patch literal 69142 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 literal 0 HcmV?d00001 -- 2.47.3