#requires AutoHotkey v1.1
-; UltimateKEYS (for AutoHotkey v1.1).ahk - 2023-09-08
+; UltimateKEYS (for AutoHotkey v1.1).ahk - 2023-12-12
; Website : www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
cmpQuad.item["3"] := "{u+2001}" ; em quad
-; Compose : Arrows and Pointers
+; Compose : Arrows and Pointing Triangles
cmpArrow := ComObjCreate("Scripting.Dictionary")
cmpArrow.item["w"] := "{u+25b2}" ; (▲) black up-pointing triangle
cmpDigitEight := ComObjCreate("Scripting.Dictionary")
cmpCapitalP := ComObjCreate("Scripting.Dictionary")
-cmpSemicolon := ComObjCreate("Scripting.Dictionary")
cmpAsterisk := ComObjCreate("Scripting.Dictionary")
cmpExclam := ComObjCreate("Scripting.Dictionary")
cmpQuestion := ComObjCreate("Scripting.Dictionary")
cmpSymbols.item["o"] := "{u+00a7}" ; (§) section sign
cmpCapitalS.item["o"] := "{u+00a7}" ; (§) section sign
cmpSmallT.item["m"] := "{u+2122}" ; (™) trademark symbol
-cmpSemicolon.item["b"] := "{u+2022}" ; (•) bullet
-cmpSemicolon.item[";"] := "{u+2022}" ; (•) bullet
-cmpSemicolon.item["t"] := "{u+2023}" ; (‣) triangular bullet
-cmpSemicolon.item[">"] := "{u+2023}" ; (‣) triangular bullet
-cmpSemicolon.item["h"] := "{u+2043}" ; (⁃) hyphen bullet
-cmpSemicolon.item["-"] := "{u+2043}" ; (⁃) hyphen bullet
-cmpSemicolon.item["w"] := "{u+25e6}" ; (◦) white bullet
-cmpSemicolon.item["o"] := "{u+25e6}" ; (◦) white bullet
cmpAcuteAccent.item["1"] := "{u+2032}" ; (′) prime
cmpAcuteAccent.item["2"] := "{u+2033}" ; (″) double prime
cmpAcuteAccent.item["3"] := "{u+2034}" ; (‴) triple prime
cmpTilde.item["~"] := "{u+2248}" ; (≈) almost equal to
+; Compose : Bullets and Small Geometric Shapes (;)
+
+cmpSemicolon := ComObjCreate("Scripting.Dictionary")
+cmpSemicolon.item["b"] := "{u+2022}" ; (•) bullet
+cmpSemicolon.item["o"] := "{u+25e6}" ; (◦) white bullet
+cmpSemicolon.item["h"] := "{u+2043}" ; (⁃) hyphen bullet
+cmpSemicolon.item["t"] := "{u+2023}" ; (‣) triangular bullet
+cmpSemicolon.item["q"] := "{u+25aa}" ; (▪) black small square
+cmpSemicolon.item["r"] := "{u+25ab}" ; (▫) white small square
+cmpSemicolon.item["w"] := "{u+25b4}" ; (▴) black up-pointing small triangle
+cmpSemicolon.item["a"] := "{u+25c2}" ; (◂) black left-pointing small triangle
+cmpSemicolon.item["s"] := "{u+25be}" ; (▾) black down-pointing small triangle
+cmpSemicolon.item["d"] := "{u+25b8}" ; (▸) black right-pointing small triangle
+cmpSemicolon.item["i"] := "{u+25b5}" ; (▵) white up-pointing small triangle
+cmpSemicolon.item["j"] := "{u+25c3}" ; (◃) white left-pointing small triangle
+cmpSemicolon.item["k"] := "{u+25bf}" ; (▿) white down-pointing small triangle
+cmpSemicolon.item["l"] := "{u+25b9}" ; (▹) white right-pointing small triangle
+cmpSemicolon.item[";"] := "{u+2022}" ; (•) bullet
+
+
; Compose : Vulgar Fractions
cmpDigitOne := ComObjCreate("Scripting.Dictionary")
cmpDigitTwo.item["t"] := "{u+26a0}" ; (⚠) warning sign
cmpDigitTwo.item["u"] := "{u+26a1}" ; (⚡) high voltage sign
cmpDigitTwo.item["v"] := "{u+26d4}" ; (⛔) no entry
+cmpDigitTwo.item["w"] := "{u+231a}" ; (⌚) watch
+cmpDigitTwo.item["x"] := "{u+231b}" ; (⌛) hourglass
cmpDigitThree.item["a"] := "{u+2701}" ; (✁) upper blade scissors
cmpDigitThree.item["b"] := "{u+2702}" ; (✂) black scissors
; Configuration : Compose Key Selector
>!`::
+>!~::
>!sc056::
+>!+sc056::
Input, keyA, L1, {bs}{del}{esc}{home}{end}
Input, keyB, L1, {bs}{del}{esc}{home}{end}
Send % cmpCapitalT.item[keyB]
else if (keyA == "P")
Send % cmpCapitalP.item[keyB]
- else if (keyA == ";")
- Send % cmpSemicolon.item[keyB]
else if (keyA == "*")
Send % cmpAsterisk.item[keyB]
else if (keyA == "!")
Send % cmpLessThan.item[keyB]
else if (keyA == ">")
Send % cmpGreaterThan.item[keyB]
+ else if (keyA == ";")
+ Send % cmpSemicolon.item[keyB]
else if (keyA == "1")
Send % cmpDigitOne.item[keyB]
else if (keyA == "2")
#requires AutoHotkey v2
-; UltimateKEYS (for AutoHotkey v2).ahk - 2023-09-08
+; UltimateKEYS (for AutoHotkey v2).ahk - 2023-12-12
; Website : www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
cmpQuad["3"] := "{u+2001}" ; em quad
-; Compose : Arrows and Pointers
+; Compose : Arrows and Pointing Triangles
global cmpArrow := Map()
cmpArrow["w"] := "{u+25b2}" ; (▲) black up-pointing triangle
global cmpDigitEight := Map()
global cmpCapitalP := Map()
-global cmpSemicolon := Map()
global cmpAsterisk := Map()
global cmpExclam := Map()
global cmpQuestion := Map()
cmpSymbols["o"] := "{u+00a7}" ; (§) section sign
cmpCapitalS["o"] := "{u+00a7}" ; (§) section sign
cmpSmallT["m"] := "{u+2122}" ; (™) trademark symbol
-cmpSemicolon["b"] := "{u+2022}" ; (•) bullet
-cmpSemicolon[";"] := "{u+2022}" ; (•) bullet
-cmpSemicolon["t"] := "{u+2023}" ; (‣) triangular bullet
-cmpSemicolon[">"] := "{u+2023}" ; (‣) triangular bullet
-cmpSemicolon["h"] := "{u+2043}" ; (⁃) hyphen bullet
-cmpSemicolon["-"] := "{u+2043}" ; (⁃) hyphen bullet
-cmpSemicolon["w"] := "{u+25e6}" ; (◦) white bullet
-cmpSemicolon["o"] := "{u+25e6}" ; (◦) white bullet
cmpAcuteAccent["1"] := "{u+2032}" ; (′) prime
cmpAcuteAccent["2"] := "{u+2033}" ; (″) double prime
cmpAcuteAccent["3"] := "{u+2034}" ; (‴) triple prime
cmpTilde["~"] := "{u+2248}" ; (≈) almost equal to
+; Compose : Bullets and Small Geometric Shapes (;)
+
+global cmpSemicolon := Map()
+cmpSemicolon["b"] := "{u+2022}" ; (•) bullet
+cmpSemicolon["o"] := "{u+25e6}" ; (◦) white bullet
+cmpSemicolon["h"] := "{u+2043}" ; (⁃) hyphen bullet
+cmpSemicolon["t"] := "{u+2023}" ; (‣) triangular bullet
+cmpSemicolon["q"] := "{u+25aa}" ; (▪) black small square
+cmpSemicolon["r"] := "{u+25ab}" ; (▫) white small square
+cmpSemicolon["w"] := "{u+25b4}" ; (▴) black up-pointing small triangle
+cmpSemicolon["a"] := "{u+25c2}" ; (◂) black left-pointing small triangle
+cmpSemicolon["s"] := "{u+25be}" ; (▾) black down-pointing small triangle
+cmpSemicolon["d"] := "{u+25b8}" ; (▸) black right-pointing small triangle
+cmpSemicolon["i"] := "{u+25b5}" ; (▵) white up-pointing small triangle
+cmpSemicolon["j"] := "{u+25c3}" ; (◃) white left-pointing small triangle
+cmpSemicolon["k"] := "{u+25bf}" ; (▿) white down-pointing small triangle
+cmpSemicolon["l"] := "{u+25b9}" ; (▹) white right-pointing small triangle
+cmpSemicolon[";"] := "{u+2022}" ; (•) bullet
+
+
; Compose : Vulgar Fractions
global cmpDigitOne := Map()
cmpDigitTwo["t"] := "{u+26a0}" ; (⚠) warning sign
cmpDigitTwo["u"] := "{u+26a1}" ; (⚡) high voltage sign
cmpDigitTwo["v"] := "{u+26d4}" ; (⛔) no entry
+cmpDigitTwo["w"] := "{u+231a}" ; (⌚) watch
+cmpDigitTwo["x"] := "{u+231b}" ; (⌛) hourglass
cmpDigitThree["a"] := "{u+2701}" ; (✁) upper blade scissors
cmpDigitThree["b"] := "{u+2702}" ; (✂) black scissors
; Configuration : Compose Key Selector
>!`::
->!sc056:: {
+>!~::
+>!sc056::
+>!+sc056:: {
ihA := InputHook("L1", gEndKeys)
ihA.Start()
ihA.Wait()
if cmpCapitalP.Has(ihB.Input)
Send cmpCapitalP[ihB.Input]
}
- else if (ihA.Input == ";") {
- if cmpSemicolon.Has(ihB.Input)
- Send cmpSemicolon[ihB.Input]
- }
else if (ihA.Input == "*") {
if cmpAsterisk.Has(ihB.Input)
Send cmpAsterisk[ihB.Input]
if cmpGreaterThan.Has(ihB.Input)
Send cmpGreaterThan[ihB.Input]
}
+ else if (ihA.Input == ";") {
+ if cmpSemicolon.Has(ihB.Input)
+ Send cmpSemicolon[ihB.Input]
+ }
else if (ihA.Input == "1") {
if cmpDigitOne.Has(ihB.Input)
Send cmpDigitOne[ihB.Input]