From a2135b9f8645fa407571a26367a094132ed3b0c3 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Fri, 24 Jan 2020 23:18:46 +0100 Subject: [PATCH 1/1] Add files via upload Some small modifications have been made on the dead key 'AltGr+\'. --- UltimateKEYS - 2020-01-24.ahk | 1122 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-01-24.klc | Bin 0 -> 65092 bytes 2 files changed, 1122 insertions(+) create mode 100644 UltimateKEYS - 2020-01-24.ahk create mode 100644 UltimateKEYS - 2020-01-24.klc diff --git a/UltimateKEYS - 2020-01-24.ahk b/UltimateKEYS - 2020-01-24.ahk new file mode 100644 index 0000000..702ccf3 --- /dev/null +++ b/UltimateKEYS - 2020-01-24.ahk @@ -0,0 +1,1122 @@ +; UltimateKEYS - 2020-01-24.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("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") := "℮" ; 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("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("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 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 : 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-24.klc b/UltimateKEYS - 2020-01-24.klc new file mode 100644 index 0000000000000000000000000000000000000000..64bf67ebc1c1ce3435c20576381a4f7e5659a07f GIT binary patch literal 65092 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 YqP^quFAmR429?0vVH9n*fARVM0{jxS!vFvP literal 0 HcmV?d00001 -- 2.47.3