]> shimmer.witbreuk.eu Git - UltimateKEYS.git/blobdiff - autohotkey-v1.1/UltimateKEYS.ahk
Create README.md
[UltimateKEYS.git] / autohotkey-v1.1 / UltimateKEYS.ahk
index 43c67700c545ba3c11ec6b1e924fa0e17a5d2c7d..ae03575208a0be77d1d2c9b21e8f575fb3f9e839 100644 (file)
@@ -1,17 +1,17 @@
-; UltimateKEYS.ahk - 2021-08-03
+; UltimateKEYS.ahk - 2021-12-28
 
-; Created by :  Pieter Degroote
+; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
-; License :     GNU General Public License Version 3
+; License :  GNU General Public License Version 3
 
-; GitHub :      https://github.com/pieter-degroote/UltimateKEYS
+; GitHub :   github.com/pieter-degroote/UltimateKEYS
 
 
 ; Requirements :
 
-; Keyboard layout (on Windows OS) :  US QWERTY
+; Keyboard layout (on Windows) :  US QWERTY
 
-; AutoHotkey v1.1 (https://www.autohotkey.com/)
+; AutoHotkey v1.1 (www.autohotkey.com)
 
 
 
@@ -230,6 +230,8 @@ dkMacronStroke.item["t"] := "{u+0167}"  ; (ŧ) t with stroke
 dkMacronStroke.item["T"] := "{u+0166}"  ; (Ŧ) T with stroke
 dkMacronStroke.item["u"] := "{u+016b}"  ; (ū) u with macron
 dkMacronStroke.item["U"] := "{u+016a}"  ; (Ū) U with macron
+dkMacronStroke.item["v"] := "{u+01d6}"  ; (ǖ) u with diaeresis and macron
+dkMacronStroke.item["V"] := "{u+01d5}"  ; (Ǖ) U with diaeresis and macron
 dkMacronStroke.item["y"] := "{u+0233}"  ; (ȳ) y with macron
 dkMacronStroke.item["Y"] := "{u+0232}"  ; (Ȳ) Y with macron
 dkMacronStroke.item["z"] := "{u+01b6}"  ; (ƶ) z with stroke
@@ -276,6 +278,8 @@ dkMacronStroke.item[" "] := "{u+00af}"  ; (¯) macron
 dkCedillaOgonek := ComObjCreate("Scripting.Dictionary")
 dkCedillaOgonek.item["a"] := "{u+0105}"  ; (ą) a with ogonek
 dkCedillaOgonek.item["A"] := "{u+0104}"  ; (Ą) A with ogonek
+dkCedillaOgonek.item["c"] := "{u+00e7}"  ; (ç) c with cedilla
+dkCedillaOgonek.item["C"] := "{u+00c7}"  ; (Ç) C with cedilla
 dkCedillaOgonek.item["d"] := "{u+1e11}"  ; (ḑ) d with cedilla
 dkCedillaOgonek.item["D"] := "{u+1e10}"  ; (Ḑ) D with cedilla
 dkCedillaOgonek.item["e"] := "{u+0119}"  ; (ę) e with ogonek
@@ -382,7 +386,6 @@ dkBreveSpecial.item[chr(0x00f1)] := "{u+0272}"  ; (ñ -> ɲ) n with left hook
 dkBreveSpecial.item[chr(0x00d1)] := "{u+019d}"  ; (Ñ -> Ɲ) N with left hook
 dkBreveSpecial.item[chr(0x00f6)] := "{u+0254}"  ; (ö -> ɔ) small open o
 dkBreveSpecial.item[chr(0x00d6)] := "{u+0186}"  ; (Ö -> Ɔ) capital open O
-dkBreveSpecial.item[chr(0x00df)] := "{u+1e9e}"  ; (ß -> ẞ) capital sharp S (capital Eszett)
 dkBreveSpecial.item[chr(0x00e5)] := "{u+2c73}"  ; (å -> ⱳ) w with hook
 dkBreveSpecial.item[chr(0x00c5)] := "{u+2c72}"  ; (Å -> Ⱳ) W with hook
 dkBreveSpecial.item[" "] := "{u+02d8}"  ; (˘) breve
@@ -441,6 +444,7 @@ dkAcuteAccent.item["y"] := "{u+00fd}"  ; (ý) y with acute
 dkAcuteAccent.item["Y"] := "{u+00dd}"  ; (Ý) Y with acute
 dkAcuteAccent.item["z"] := "{u+017a}"  ; (ź) z with acute
 dkAcuteAccent.item["Z"] := "{u+0179}"  ; (Ź) Z with acute
+dkAcuteAccent.item["1"] := "{u+26a0}"  ; (⚠) warning sign
 dkAcuteAccent.item["2"] := "{u+266b}"  ; (♫) beamed eighth notes
 dkAcuteAccent.item["3"] := "{u+2042}"  ; (⁂) asterism
 dkAcuteAccent.item["4"] := "{u+2605}"  ; (★) black star
@@ -450,6 +454,7 @@ dkAcuteAccent.item["7"] := "{u+273b}"  ; (✻) teardrop-spoked asterisk
 dkAcuteAccent.item["8"] := "{u+266a}"  ; (♪) eighth note
 dkAcuteAccent.item["9"] := "{u+2706}"  ; (✆) telephone location sign
 dkAcuteAccent.item["0"] := "{u+2709}"  ; (✉) envelope
+dkAcuteAccent.item["!"] := "{u+26a0}"  ; (⚠) warning sign
 dkAcuteAccent.item["@"] := "{u+266b}"  ; (♫) beamed eighth notes
 dkAcuteAccent.item["#"] := "{u+2042}"  ; (⁂) asterism
 dkAcuteAccent.item["$"] := "{u+2605}"  ; (★) black star
@@ -469,7 +474,6 @@ dkAcuteAccent.item[chr(0x00e7)] := "{u+1e09}"  ; (ç -> ḉ) c with cedilla and
 dkAcuteAccent.item[chr(0x00c7)] := "{u+1e08}"  ; (Ç -> Ḉ) C with cedilla and acute
 dkAcuteAccent.item[chr(0x00e9)] := "{u+0260}"  ; (é -> ɠ) g with hook
 dkAcuteAccent.item[chr(0x00c9)] := "{u+0193}"  ; (É -> Ɠ) G with hook
-dkAcuteAccent.item[chr(0x00df)] := "{u+1e9e}"  ; (ß -> ẞ) capital sharp S (capital Eszett)
 dkAcuteAccent.item[chr(0x00ec)] := "{u+028c}"  ; (ì -> ʌ) latin small letter turned v
 dkAcuteAccent.item[chr(0x00cc)] := "{u+0245}"  ; (Ì -> Ʌ) latin capital letter turned V
 dkAcuteAccent.item[chr(0x00fb)] := "{u+01b4}"  ; (û -> ƴ) y with hook
@@ -484,9 +488,23 @@ dkAcuteAccent.item[" "] := "{u+00b4}"  ; (´) acute accent
 ; Dead Key :  Diaeresis
 
 dkDiaeresis := ComObjCreate("Scripting.Dictionary")
+dkDiaeresis.item["a"] := "{u+00e4}"  ; (ä) a with diaeresis
+dkDiaeresis.item["A"] := "{u+00c4}"  ; (Ä) A with diaeresis
+dkDiaeresis.item["e"] := "{u+00eb}"  ; (ë) e with diaeresis
+dkDiaeresis.item["E"] := "{u+00cb}"  ; (Ë) E with diaeresis
 dkDiaeresis.item["h"] := "{u+1e27}"  ; (ḧ) h with diaeresis
 dkDiaeresis.item["H"] := "{u+1e26}"  ; (Ḧ) H with diaeresis
+dkDiaeresis.item["i"] := "{u+00ef}"  ; (ï) i with diaeresis
+dkDiaeresis.item["I"] := "{u+00cf}"  ; (Ï) I with diaeresis
+dkDiaeresis.item["o"] := "{u+00f6}"  ; (ö) o with diaeresis
+dkDiaeresis.item["O"] := "{u+00d6}"  ; (Ö) O with diaeresis
+dkDiaeresis.item["s"] := "{u+0283}"  ; (ʃ) small letter esh
+dkDiaeresis.item["S"] := "{u+01a9}"  ; (Ʃ) capital letter esh
 dkDiaeresis.item["t"] := "{u+1e97}"  ; (ẗ) t with diaeresis
+dkDiaeresis.item["u"] := "{u+00fc}"  ; (ü) u with diaeresis
+dkDiaeresis.item["U"] := "{u+00dc}"  ; (Ü) U with diaeresis
+dkDiaeresis.item["v"] := "{u+01d8}"  ; (ǘ) u with diaeresis and acute
+dkDiaeresis.item["V"] := "{u+01d7}"  ; (Ǘ) U with diaeresis and acute
 dkDiaeresis.item["w"] := "{u+1e85}"  ; (ẅ) w with diaeresis
 dkDiaeresis.item["W"] := "{u+1e84}"  ; (Ẅ) W with diaeresis
 dkDiaeresis.item["x"] := "{u+1e8d}"  ; (ẍ) x with diaeresis
@@ -517,6 +535,8 @@ dkGraveAccent.item["t"] := "{u+00fe}"  ; (þ) small letter thorn
 dkGraveAccent.item["T"] := "{u+00de}"  ; (Þ) capital letter thorn
 dkGraveAccent.item["u"] := "{u+0215}"  ; (ȕ) u with double grave
 dkGraveAccent.item["U"] := "{u+0214}"  ; (Ȕ) U with double grave
+dkGraveAccent.item["v"] := "{u+01dc}"  ; (ǜ) u with diaeresis and grave
+dkGraveAccent.item["V"] := "{u+01db}"  ; (Ǜ) U with diaeresis and grave
 dkGraveAccent.item["w"] := "{u+1e81}"  ; (ẁ) w with grave
 dkGraveAccent.item["W"] := "{u+1e80}"  ; (Ẁ) W with grave
 dkGraveAccent.item["y"] := "{u+1ef3}"  ; (ỳ) y with grave
@@ -557,14 +577,18 @@ dkGraveAccent.item[" "] := "``"        ; grave accent
 ; Dead Key :  Tilde
 
 dkTilde := ComObjCreate("Scripting.Dictionary")
+dkTilde.item["a"] := "{u+00e3}"  ; (ã) a with tilde
+dkTilde.item["A"] := "{u+00c3}"  ; (Ã) A with tilde
 dkTilde.item["e"] := "{u+1ebd}"  ; (ẽ) e with tilde
 dkTilde.item["E"] := "{u+1ebc}"  ; (Ẽ) E with tilde
 dkTilde.item["i"] := "{u+0129}"  ; (ĩ) i with tilde
 dkTilde.item["I"] := "{u+0128}"  ; (Ĩ) I with tilde
 dkTilde.item["l"] := "{u+026b}"  ; (ɫ) l with middle tilde
 dkTilde.item["L"] := "{u+2c62}"  ; (Ɫ) L with middle tilde
-dkTilde.item["s"] := "{u+0283}"  ; (ʃ) small letter esh
-dkTilde.item["S"] := "{u+01a9}"  ; (Ʃ) capital letter esh
+dkTilde.item["n"] := "{u+00f1}"  ; (ñ) n with tilde
+dkTilde.item["N"] := "{u+00d1}"  ; (Ñ) N with tilde
+dkTilde.item["o"] := "{u+00f5}"  ; (õ) o with tilde
+dkTilde.item["O"] := "{u+00d5}"  ; (Õ) O with tilde
 dkTilde.item["u"] := "{u+0169}"  ; (ũ) u with tilde
 dkTilde.item["U"] := "{u+0168}"  ; (Ũ) U with tilde
 dkTilde.item["v"] := "{u+1e7d}"  ; (ṽ) v with tilde
@@ -574,11 +598,11 @@ dkTilde.item["Y"] := "{u+1ef8}"  ; (Ỹ) Y with tilde
 dkTilde.item["g"] := "{u+ab36}"  ; (ꬶ) cross-tailed g
 dkTilde.item["h"] := "{u+0267}"  ; (ɧ) small letter heng with hook
 dkTilde.item["k"] := "{u+0138}"  ; (ĸ) small letter kra
+dkTilde.item["s"] := "{u+017f}"  ; (ſ) small long s
 dkTilde.item["1"] := "{u+2000}"  ; en quad
 dkTilde.item["2"] := "{u+2001}"  ; em quad
 dkTilde.item["!"] := "{u+2000}"  ; en quad
 dkTilde.item["@"] := "{u+2001}"  ; em quad
-dkTilde.item[chr(0x00df)] := "{u+017f}"  ; (ß -> ſ) small long s
 dkTilde.item[" "] := "~"         ; tilde
 
 
@@ -597,6 +621,8 @@ dkSymbols.item["e"] := "{u+212e}"  ; (℮) estimated symbol
 dkSymbols.item["E"] := "{u+2709}"  ; (✉) envelope
 dkSymbols.item["f"] := "{u+2640}"  ; (♀) Venus symbol (female)
 dkSymbols.item["F"] := "{u+2640}"  ; (♀) Venus symbol (female)
+dkSymbols.item["g"] := "{u+2740}"  ; (❀) white florette
+dkSymbols.item["G"] := "{u+273f}"  ; (✿) black florette
 dkSymbols.item["h"] := "{u+2766}"  ; (❦) floral heart
 dkSymbols.item["H"] := "{u+2767}"  ; (❧) rotated floral heart bullet
 dkSymbols.item["i"] := "{u+22c4}"  ; (⋄) diamond operator
@@ -623,6 +649,8 @@ dkSymbols.item["u"] := "{u+2610}"  ; (☐) ballot box
 dkSymbols.item["U"] := "{u+2610}"  ; (☐) ballot box
 dkSymbols.item["v"] := "{u+2713}"  ; (✓) check mark
 dkSymbols.item["V"] := "{u+2714}"  ; (✔) heavy check mark
+dkSymbols.item["w"] := "{u+26a0}"  ; (⚠) warning sign
+dkSymbols.item["W"] := "{u+26a0}"  ; (⚠) warning sign
 dkSymbols.item["x"] := "{u+2717}"  ; (✗) ballot x
 dkSymbols.item["X"] := "{u+2718}"  ; (✘) heavy ballot x
 dkSymbols.item["y"] := "{u+2611}"  ; (☑) ballot box with check
@@ -669,10 +697,10 @@ dkSymbols.item[" "] := "{u+00d7}"  ; (×) multiplication sign
 ; Dead Key :  Currency
 
 dkCurrency := ComObjCreate("Scripting.Dictionary")
-dkCurrency.item["a"] := "{u+20b3}"  ; (₳) Argentine austral
+dkCurrency.item["a"] := "{u+058f}"  ; (֏) Armenian dram
 dkCurrency.item["A"] := "{u+20b3}"  ; (₳) Argentine austral
 dkCurrency.item["b"] := "{u+20bf}"  ; (₿) bitcoin
-dkCurrency.item["B"] := "{u+20bf}"  ; (₿) bitcoin
+dkCurrency.item["B"] := "{u+0e3f}"  ; (฿) Thai baht
 dkCurrency.item["c"] := "{u+20a1}"  ; (₡) Costa Rican colón
 dkCurrency.item["C"] := "{u+20b5}"  ; (₵) Ghanaian cedi
 dkCurrency.item["d"] := "{u+20ab}"  ; (₫) Vietnamese dong
@@ -690,9 +718,9 @@ dkCurrency.item["L"] := "{u+20be}"  ; (₾) Georgian lari
 dkCurrency.item["m"] := "{u+20bc}"  ; (₼) Azerbaijani manat
 dkCurrency.item["M"] := "{u+20a5}"  ; (₥) mill sign
 dkCurrency.item["n"] := "{u+20a6}"  ; (₦) Nigerian naira
-dkCurrency.item["N"] := "{u+20a6}"  ; (₦) Nigerian naira
+dkCurrency.item["N"] := "{u+20bb}"  ; (₻) nordic mark
 dkCurrency.item["p"] := "{u+20b1}"  ; (₱) Philippine peso
-dkCurrency.item["P"] := "{u+20b1}"  ; (₱) Philippine peso
+dkCurrency.item["P"] := "{u+20a7}"  ; (₧) Spanish pesetas
 dkCurrency.item["r"] := "{u+20b9}"  ; (₹) Indian rupee
 dkCurrency.item["R"] := "{u+20bd}"  ; (₽) Russian ruble
 dkCurrency.item["s"] := "{u+20aa}"  ; (₪) Israeli new shekel
@@ -704,9 +732,11 @@ dkCurrency.item["W"] := "{u+20a9}"  ; (₩) South Korean won
 dkCurrency.item["x"] := "{u+00a4}"  ; (¤) currency sign
 dkCurrency.item["X"] := "{u+00a4}"  ; (¤) currency sign
 dkCurrency.item[chr(0x00e7)] := "{u+20a2}"  ; (ç -> ₢) Brazilian cruzeiro
-dkCurrency.item[chr(0x00c7)] := "{u+20a2}"  ; (Ç -> ₢) Brazilian cruzeiro
+dkCurrency.item[chr(0x00c7)] := "{u+20a0}"  ; (Ç -> ₠) euro-currency sign
 dkCurrency.item[chr(0x00f8)] := "{u+20a4}"  ; (ø -> ₤) lira
 dkCurrency.item[chr(0x00d8)] := "{u+20b6}"  ; (Ø -> ₶) livre tournois
+dkCurrency.item[chr(0x00ea)] := "{u+20a8}"  ; (ê -> ₨) rupee sign
+dkCurrency.item[chr(0x00ca)] := "{u+20a8}"  ; (Ê -> ₨) rupee sign
 dkCurrency.item[" "] := "{u+00a4}"  ; (¤) currency sign
 
 
@@ -861,7 +891,7 @@ dkMathSymbols.item["^"] := "{u+2220}"  ; (∠) angle symbol
 dkMathSymbols.item["7"] := "{u+2227}"  ; (∧) logical and
 dkMathSymbols.item["&"] := "{u+2227}"  ; (∧) logical and
 dkMathSymbols.item["8"] := "{u+2297}"  ; (⊗) circled times
-dkMathSymbols.item["*"] := "{u+2297}"  ; (⊗) circled times
+dkMathSymbols.item["*"] := "{u+2299}"  ; (⊙) circled dot operator
 dkMathSymbols.item["9"] := "{u+221f}"  ; (∟) right angle
 dkMathSymbols.item["("] := "{u+221f}"  ; (∟) right angle
 dkMathSymbols.item["0"] := "{u+2221}"  ; (∡) measured angle
@@ -872,20 +902,27 @@ dkMathSymbols.item[","] := "{u+2264}"  ; (≤) less-than or equal to
 dkMathSymbols.item["<"] := "{u+2264}"  ; (≤) less-than or equal to
 dkMathSymbols.item["."] := "{u+2265}"  ; (≥) greater-than or equal to
 dkMathSymbols.item[">"] := "{u+2265}"  ; (≥) greater-than or equal to
-dkMathSymbols.item["-"] := "{u+2296}"  ; (⊖) circled minus
-dkMathSymbols.item["_"] := "{u+2298}"  ; (⊘) circled division slash
+dkMathSymbols.item["-"] := "{u+00b1}"  ; (±) plus-minus sign
+dkMathSymbols.item["_"] := "{u+2296}"  ; (⊖) circled minus
+dkMathSymbols.item["/"] := "{u+2298}"  ; (⊘) circled division slash
 dkMathSymbols.item["="] := "{u+225d}"  ; (≝) equal to by definition
 dkMathSymbols.item["+"] := "{u+2295}"  ; (⊕) circled plus
 dkMathSymbols.item[";"] := "{u+2235}"  ; (∵) because sign
 dkMathSymbols.item[":"] := "{u+2234}"  ; (∴) therefore sign
 dkMathSymbols.item["'"] := "{u+2032}"  ; (′) prime
 dkMathSymbols.item[chr(34)] := "{u+2033}"  ; (″) double prime
-dkMathSymbols.item["/"] := "{u+2034}"  ; (‴) triple prime
-dkMathSymbols.item["?"] := "{u+2057}"  ; (⁗) quadruple prime
+dkMathSymbols.item["["] := "{u+2034}"  ; (‴) triple prime
+dkMathSymbols.item["]"] := "{u+2057}"  ; (⁗) quadruple prime
 dkMathSymbols.item["\"] := "{u+2228}"  ; (∨) logical or
 dkMathSymbols.item["|"] := "{u+2228}"  ; (∨) logical or
 dkMathSymbols.item[chr(0x00e7)] := "{u+2245}"  ; (ç -> ≅) congruent to
 dkMathSymbols.item[chr(0x00c7)] := "{u+2247}"  ; (Ç -> ≇) not congruent to
+dkMathSymbols.item[chr(0x00f6)] := "{u+2300}"  ; (ö -> ⌀) diameter sign
+dkMathSymbols.item[chr(0x00d6)] := "{u+2300}"  ; (Ö -> ⌀) diameter sign
+dkMathSymbols.item[chr(0x00f2)] := "{u+2a7d}"  ; (ò -> ⩽) less-than or slanted equal to
+dkMathSymbols.item[chr(0x00d2)] := "{u+2a7d}"  ; (Ò -> ⩽) less-than or slanted equal to
+dkMathSymbols.item[chr(0x00f3)] := "{u+2a7e}"  ; (ó -> ⩾) greater-than or slanted equal to
+dkMathSymbols.item[chr(0x00d3)] := "{u+2a7e}"  ; (Ó -> ⩾) greater-than or slanted equal to
 dkMathSymbols.item[chr(0x00f5)] := "{u+2261}"  ; (õ -> ≡) identical to
 dkMathSymbols.item[chr(0x00d5)] := "{u+2262}"  ; (Õ -> ≢) not identical to
 dkMathSymbols.item[" "] := "{u+221a}"  ; (√) square root
@@ -1201,6 +1238,20 @@ dkMathSymbols.item[" "] := "{u+221a}"  ; (√) square root
   Send {blind}{vkE8}
   return
 
+>!s::
+  if GetKeyState("CapsLock", "T")
+    Send {u+1e9e}  ; (ẞ) capital sharp S (capital Eszett)
+  else
+    Send {u+00df}  ; (ß) small sharp s (Eszett)
+  return
+>!+s::
+  if GetKeyState("CapsLock", "T")
+    Send {u+00df}  ; (ß) small sharp s (Eszett)
+  else
+    Send {u+1e9e}  ; (ẞ) capital sharp S (capital Eszett)
+  Send {blind}{vkE8}
+  return
+
 >!u::
   if GetKeyState("CapsLock", "T")
     Send {u+00dc}  ; (Ü) U with diaeresis
@@ -1285,12 +1336,6 @@ dkMathSymbols.item[" "] := "{u+221a}"  ; (√) square root
   Send {blind}{vkE8}
   return
 
->!s::Send {u+00df}  ; (ß) small sharp s (Eszett)
->!+s::
-  Send {u+00a7}     ; (§) section sign
-  Send {blind}{vkE8}  ; suppresses 'Right Alt + Shift' hotkey
-  return
-
 >!1::Send {u+00a1}  ; (¡) inverted exclamation mark
 >!+1::
   Send {u+00b9}     ; (¹) superscript 1
@@ -1300,10 +1345,10 @@ dkMathSymbols.item[" "] := "{u+221a}"  ; (√) square root
 >!2::Send {u+00a9}  ; (©) copyright sign
 >!+2::
   Send {u+00b2}     ; (²) superscript 2
-  Send {blind}{vkE8}
+  Send {blind}{vkE8}  ; suppresses 'Right Alt + Shift' hotkey
   return
 
->!3::Send {u+00b1}  ; (±) plus-minus sign
+>!3::Send {u+00a7}  ; (§) section sign
 >!+3::
   Send {u+00b3}     ; (³) superscript 3
   Send {blind}{vkE8}