From efd2adfebe9accf2aab94d5afa08541ebf563f38 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Thu, 2 Jan 2020 21:53:51 +0100 Subject: [PATCH] Add files via upload A few small modifications have been made. --- UltimateKEYS - 2020-01-02.ahk | 1118 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-01-02.klc | Bin 0 -> 64688 bytes 2 files changed, 1118 insertions(+) create mode 100644 UltimateKEYS - 2020-01-02.ahk create mode 100644 UltimateKEYS - 2020-01-02.klc diff --git a/UltimateKEYS - 2020-01-02.ahk b/UltimateKEYS - 2020-01-02.ahk new file mode 100644 index 0000000..e9002bd --- /dev/null +++ b/UltimateKEYS - 2020-01-02.ahk @@ -0,0 +1,1118 @@ +; UltimateKEYS - 2020-01-02.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("``") := "``" ; 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("c") := "©" ; copyright sign +dkNotSign.item("C") := "¤" ; currency sign +dkNotSign.item("d") := "†" ; dagger +dkNotSign.item("D") := "‡" ; double dagger +dkNotSign.item("e") := "℮" ; estimated symbol +dkNotSign.item("E") := "…" ; ellipsis +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("x") := "✗" ; ballot x +dkNotSign.item("X") := "✗" ; ballot x +dkNotSign.item("y") := "✓" ; check mark +dkNotSign.item("Y") := "✓" ; check mark +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("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 mille 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 : AltGr modifiers for 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-02.klc b/UltimateKEYS - 2020-01-02.klc new file mode 100644 index 0000000000000000000000000000000000000000..cab83f4f3c89bf50b9a5f01289ad1a41fa7810d4 GIT binary patch literal 64688 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 xc0Kodny!M8i?|YNhgg|fXWv4;4p)Say