From dd453faf4b8040f1bab084d42ba2e0d3c898f624 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Wed, 29 Jan 2020 23:10:09 +0100 Subject: [PATCH] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The symbols for white and black smiling faces have been added (☺, ☻). --- UltimateKEYS - 2020-01-29.ahk | 1162 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-01-29.klc | Bin 0 -> 68252 bytes 2 files changed, 1162 insertions(+) create mode 100644 UltimateKEYS - 2020-01-29.ahk create mode 100644 UltimateKEYS - 2020-01-29.klc diff --git a/UltimateKEYS - 2020-01-29.ahk b/UltimateKEYS - 2020-01-29.ahk new file mode 100644 index 0000000..fc24ab7 --- /dev/null +++ b/UltimateKEYS - 2020-01-29.ahk @@ -0,0 +1,1162 @@ +; UltimateKEYS - 2020-01-29.ahk + +; Author : 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("^") := "{^}" ; 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("h") := "ħ" ; h with stroke +dkMacron.item("H") := "Ħ" ; H with stroke +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("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(".") := "˛" ; 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("i") := "η" ; small eta +dkGreekAlphabet.item("I") := "Η" ; capital eta +dkGreekAlphabet.item("h") := "θ" ; small theta +dkGreekAlphabet.item("H") := "Θ" ; capital theta +dkGreekAlphabet.item("j") := "ι" ; small iota +dkGreekAlphabet.item("J") := "Ι" ; 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("§") := "Σ" ; capital sigma +dkGreekAlphabet.item("t") := "τ" ; small tau +dkGreekAlphabet.item("T") := "Τ" ; capital tau +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("u") := "ω" ; small omega +dkGreekAlphabet.item("U") := "Ω" ; 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(" ") := "μ" ; 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 ð ; small letter eth + else + Send Ð ; capital letter eth +return +>!d:: + if GetKeyState("CapsLock", "T") + Send Ð ; capital letter eth + else + Send ð ; small 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 þ ; small letter thorn + else + Send Þ ; capital letter thorn +return +>!t:: + if GetKeyState("CapsLock", "T") + Send Þ ; capital letter thorn + else + Send þ ; small 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 diff --git a/UltimateKEYS - 2020-01-29.klc b/UltimateKEYS - 2020-01-29.klc new file mode 100644 index 0000000000000000000000000000000000000000..f654ad90d7984eaceff70a8147691960bbafdab7 GIT binary patch literal 68252 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