#requires AutoHotkey v1.1
-; UltimateKEYS (for AutoHotkey v1.1).ahk - 2024-11-20
+; UltimateKEYS (for AutoHotkey v1.1).ahk - 2024-11-30
; Website : https://pieter-degroote.github.io/UltimateKEYS/
; Configuration :
-; Keyboard layout (on Windows) : US QWERTY
+; Keyboard layout : US QWERTY
cmpMathSymbols.item["6"] := "{u+2220}" ; (∠) angle symbol
cmpMathSymbols.item["9"] := "{u+221f}" ; (∟) right angle
cmpMathSymbols.item["0"] := "{u+2221}" ; (∡) measured angle
-cmpMathSymbols.item[","] := "{u+2219}" ; (∙) bullet operator
+cmpMathSymbols.item["."] := "{u+22c5}" ; (⋅) dot operator
+cmpMathSymbols.item["="] := "{u+225d}" ; (≝) equal to by definition
cmpMathSymbols.item["+"] := "{u+2295}" ; (⊕) circled plus
cmpMathSymbols.item["-"] := "{u+2296}" ; (⊖) circled minus
cmpMathSymbols.item["*"] := "{u+2297}" ; (⊗) circled times
cmpMathSymbols.item["/"] := "{u+2298}" ; (⊘) circled division slash
-cmpMathSymbols.item["."] := "{u+2299}" ; (⊙) circled dot operator
-cmpMathSymbols.item["="] := "{u+225d}" ; (≝) equal to by definition
cmpMathSymbols.item[";"] := "{u+2235}" ; (∵) because sign
cmpMathSymbols.item[":"] := "{u+2234}" ; (∴) therefore sign
cmpMathSymbols.item["&"] := "{u+2227}" ; (∧) logical and
cmpSmallN.item["0"] := "{u+277f}" ; (❿) dingbat negative circled digit 10
-; Configuration : 'Right Alt' and 'Right Alt + Shift' on US QWERTY
+; Configuration : 'AltGr (RAlt)' and 'AltGr (RAlt) + Shift' modifiers
+
+; Key : 1
+>!sc002::
+<^>!sc002::Send {u+00a1} ; (¡) inverted exclamation mark
+>!+sc002::
+<^>!+sc002::Send {u+00b9} ; (¹) superscript 1
+
+; Key : 2
+>!sc003::
+<^>!sc003::Send {u+2264} ; (≤) less-than or equal to
+>!+sc003::
+<^>!+sc003::Send {u+00b2} ; (²) superscript 2
+
+; Key : 3
+>!sc004::
+<^>!sc004::Send {u+2265} ; (≥) greater-than or equal to
+>!+sc004::
+<^>!+sc004::Send {u+00b3} ; (³) superscript 3
+
+; Key : 4
+>!sc005::
+<^>!sc005::Send {u+00a3} ; (£) pound sign
+>!+sc005::
+<^>!+sc005::Send {u+00a5} ; (¥) yen sign
+
+; Key : 5
+>!sc006::
+<^>!sc006::Send {u+20ac} ; (€) euro sign
+>!+sc006::
+<^>!+sc006::Send {u+00a2} ; (¢) cent sign (dollar)
+
+; Key : 6
+>!sc007::
+<^>!sc007::
+ if GetKeyState("CapsLock", "T")
+ Send {u+00c3} ; (Ã) A with tilde
+ else
+ Send {u+00e3} ; (ã) a with tilde
+ return
+>!+sc007::
+<^>!+sc007::
+ if GetKeyState("CapsLock", "T")
+ Send {u+00e3} ; (ã) a with tilde
+ else
+ Send {u+00c3} ; (Ã) A with tilde
+ return
->!a::
+; Key : 7
+>!sc008::
+<^>!sc008::
if GetKeyState("CapsLock", "T")
- Send {u+00c4} ; (Ä) A with diaeresis
+ Send {u+00d5} ; (Õ) O with tilde
else
- Send {u+00e4} ; (ä) a with diaeresis
+ Send {u+00f5} ; (õ) o with tilde
return
->!+a::
+>!+sc008::
+<^>!+sc008::
if GetKeyState("CapsLock", "T")
- Send {u+00e4} ; (ä) a with diaeresis
+ Send {u+00f5} ; (õ) o with tilde
else
- Send {u+00c4} ; (Ä) A with diaeresis
+ Send {u+00d5} ; (Õ) O with tilde
return
->!q::
+; Key : 8
+>!sc009::
+<^>!sc009::Send {u+201e} ; („) double low-9 quotation mark
+>!+sc009::
+<^>!+sc009::Send {u+00a7} ; (§) section sign
+
+; Key : 9
+>!sc00A::
+<^>!sc00A::Send {u+201c} ; (“) left double quotation mark
+>!+sc00A::
+<^>!+sc00A::Send {u+2018} ; (‘) left single quotation mark
+
+; Key : 0
+>!sc00B::
+<^>!sc00B::Send {u+201d} ; (”) right double quotation mark
+>!+sc00B::
+<^>!+sc00B::Send {u+2019} ; (’) right single quotation mark
+
+; Key : - / _ (hyphen-minus / underscore)
+>!sc00C::
+<^>!sc00C::Send {u+2013} ; (–) en dash
+>!+sc00C::
+<^>!+sc00C::Send {u+2014} ; (—) em dash
+
+; Key : = / + (equals sign / plus sign)
+>!sc00D::
+<^>!sc00D::Send {u+00d7} ; (×) multiplication sign
+>!+sc00D::
+<^>!+sc00D::Send {u+00f7} ; (÷) division sign
+
+; Key : Q
+>!sc010::
+<^>!sc010::
if GetKeyState("CapsLock", "T")
Send {u+00c6} ; (Æ) letter AE
else
Send {u+00e6} ; (æ) letter ae
return
->!+q::
+>!+sc010::
+<^>!+sc010::
if GetKeyState("CapsLock", "T")
Send {u+00e6} ; (æ) letter ae
else
Send {u+00c6} ; (Æ) letter AE
return
->!w::
+; Key : W
+>!sc011::
+<^>!sc011::
if GetKeyState("CapsLock", "T")
Send {u+00c5} ; (Å) A with ring above
else
Send {u+00e5} ; (å) a with ring above
return
->!+w::
+>!+sc011::
+<^>!+sc011::
if GetKeyState("CapsLock", "T")
Send {u+00e5} ; (å) a with ring above
else
Send {u+00c5} ; (Å) A with ring above
return
->!z::
+; Key : E
+>!sc012::
+<^>!sc012::
if GetKeyState("CapsLock", "T")
- Send {u+00c1} ; (Á) A with acute
+ Send {u+00cb} ; (Ë) E with diaeresis
else
- Send {u+00e1} ; (á) a with acute
+ Send {u+00eb} ; (ë) e with diaeresis
return
->!+z::
+>!+sc012::
+<^>!+sc012::
if GetKeyState("CapsLock", "T")
- Send {u+00e1} ; (á) a with acute
+ Send {u+00eb} ; (ë) e with diaeresis
else
- Send {u+00c1} ; (Á) A with acute
+ Send {u+00cb} ; (Ë) E with diaeresis
return
->!x::
+; Key : R
+>!sc013::
+<^>!sc013::
if GetKeyState("CapsLock", "T")
- Send {u+00c0} ; (À) A with grave
+ Send {u+00ca} ; (Ê) E with circumflex
else
- Send {u+00e0} ; (à) a with grave
+ Send {u+00ea} ; (ê) e with circumflex
return
->!+x::
+>!+sc013::
+<^>!+sc013::
if GetKeyState("CapsLock", "T")
- Send {u+00e0} ; (à) a with grave
+ Send {u+00ea} ; (ê) e with circumflex
else
- Send {u+00c0} ; (À) A with grave
+ Send {u+00ca} ; (Ê) E with circumflex
return
->!d::
+; Key : T
+>!sc014::
+<^>!sc014::
if GetKeyState("CapsLock", "T")
- Send {u+00c2} ; (Â) A with circumflex
+ Send {u+00ce} ; (Î) I with circumflex
else
- Send {u+00e2} ; (â) a with circumflex
+ Send {u+00ee} ; (î) i with circumflex
return
->!+d::
+>!+sc014::
+<^>!+sc014::
if GetKeyState("CapsLock", "T")
- Send {u+00e2} ; (â) a with circumflex
+ Send {u+00ee} ; (î) i with circumflex
else
- Send {u+00c2} ; (Â) A with circumflex
+ Send {u+00ce} ; (Î) I with circumflex
return
->!c::
+; Key : Y
+>!sc015::
+<^>!sc015::
if GetKeyState("CapsLock", "T")
- Send {u+00c7} ; (Ç) C with cedilla
+ Send {u+00db} ; (Û) U with circumflex
else
- Send {u+00e7} ; (ç) c with cedilla
+ Send {u+00fb} ; (û) u with circumflex
return
->!+c::
+>!+sc015::
+<^>!+sc015::
if GetKeyState("CapsLock", "T")
- Send {u+00e7} ; (ç) c with cedilla
+ Send {u+00fb} ; (û) u with circumflex
else
- Send {u+00c7} ; (Ç) C with cedilla
+ Send {u+00db} ; (Û) U with circumflex
return
->!e::
+; Key : U
+>!sc016::
+<^>!sc016::
if GetKeyState("CapsLock", "T")
- Send {u+00cb} ; (Ë) E with diaeresis
+ Send {u+00dc} ; (Ü) U with diaeresis
else
- Send {u+00eb} ; (ë) e with diaeresis
+ Send {u+00fc} ; (ü) u with diaeresis
return
->!+e::
+>!+sc016::
+<^>!+sc016::
if GetKeyState("CapsLock", "T")
- Send {u+00eb} ; (ë) e with diaeresis
+ Send {u+00fc} ; (ü) u with diaeresis
else
- Send {u+00cb} ; (Ë) E with diaeresis
+ Send {u+00dc} ; (Ü) U with diaeresis
return
->!f::
+; Key : I
+>!sc017::
+<^>!sc017::
if GetKeyState("CapsLock", "T")
- Send {u+00c9} ; (É) E with acute
+ Send {u+00cf} ; (Ï) I with diaeresis
else
- Send {u+00e9} ; (é) e with acute
+ Send {u+00ef} ; (ï) i with diaeresis
return
->!+f::
+>!+sc017::
+<^>!+sc017::
if GetKeyState("CapsLock", "T")
- Send {u+00e9} ; (é) e with acute
+ Send {u+00ef} ; (ï) i with diaeresis
else
- Send {u+00c9} ; (É) E with acute
+ Send {u+00cf} ; (Ï) I with diaeresis
return
->!g::
+; Key : O
+>!sc018::
+<^>!sc018::
if GetKeyState("CapsLock", "T")
- Send {u+00c8} ; (È) E with grave
+ Send {u+00d6} ; (Ö) O with diaeresis
else
- Send {u+00e8} ; (è) e with grave
+ Send {u+00f6} ; (ö) o with diaeresis
return
->!+g::
+>!+sc018::
+<^>!+sc018::
if GetKeyState("CapsLock", "T")
- Send {u+00e8} ; (è) e with grave
+ Send {u+00f6} ; (ö) o with diaeresis
else
- Send {u+00c8} ; (È) E with grave
+ Send {u+00d6} ; (Ö) O with diaeresis
return
->!r::
+; Key : P
+>!sc019::
+<^>!sc019::
if GetKeyState("CapsLock", "T")
- Send {u+00ca} ; (Ê) E with circumflex
+ Send {u+00d4} ; (Ô) O with circumflex
else
- Send {u+00ea} ; (ê) e with circumflex
+ Send {u+00f4} ; (ô) o with circumflex
return
->!+r::
+>!+sc019::
+<^>!+sc019::
if GetKeyState("CapsLock", "T")
- Send {u+00ea} ; (ê) e with circumflex
+ Send {u+00f4} ; (ô) o with circumflex
else
- Send {u+00ca} ; (Ê) E with circumflex
+ Send {u+00d4} ; (Ô) O with circumflex
return
->!i::
+; Key : [ / { (left square bracket / left curly bracket)
+>!sc01A::
+<^>!sc01A::Send {u+00ab} ; («) left-pointing double angle quotation mark
+>!+sc01A::
+<^>!+sc01A::Send {u+2039} ; (‹) left-pointing single angle quotation mark
+
+; Key : ] / } (right square bracket / right curly bracket)
+>!sc01B::
+<^>!sc01B::Send {u+00bb} ; (») right-pointing double angle quotation mark
+>!+sc01B::
+<^>!+sc01B::Send {u+203a} ; (›) right-pointing single angle quotation mark
+
+; Key : A
+>!sc01E::
+<^>!sc01E::
if GetKeyState("CapsLock", "T")
- Send {u+00cf} ; (Ï) I with diaeresis
+ Send {u+00c4} ; (Ä) A with diaeresis
else
- Send {u+00ef} ; (ï) i with diaeresis
+ Send {u+00e4} ; (ä) a with diaeresis
return
->!+i::
+>!+sc01E::
+<^>!+sc01E::
if GetKeyState("CapsLock", "T")
- Send {u+00ef} ; (ï) i with diaeresis
+ Send {u+00e4} ; (ä) a with diaeresis
else
- Send {u+00cf} ; (Ï) I with diaeresis
+ Send {u+00c4} ; (Ä) A with diaeresis
return
->!v::
+; Key : S
+>!sc01F::
+<^>!sc01F::
if GetKeyState("CapsLock", "T")
- Send {u+00cd} ; (Í) I with acute
+ Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett)
else
- Send {u+00ed} ; (í) i with acute
+ Send {u+00df} ; (ß) small sharp s (Eszett)
return
->!+v::
+>!+sc01F::
+<^>!+sc01F::
if GetKeyState("CapsLock", "T")
- Send {u+00ed} ; (í) i with acute
+ Send {u+00df} ; (ß) small sharp s (Eszett)
else
- Send {u+00cd} ; (Í) I with acute
+ Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett)
return
->!b::
+; Key : D
+>!sc020::
+<^>!sc020::
if GetKeyState("CapsLock", "T")
- Send {u+00cc} ; (Ì) I with grave
+ Send {u+00c2} ; (Â) A with circumflex
else
- Send {u+00ec} ; (ì) i with grave
+ Send {u+00e2} ; (â) a with circumflex
return
->!+b::
+>!+sc020::
+<^>!+sc020::
if GetKeyState("CapsLock", "T")
- Send {u+00ec} ; (ì) i with grave
+ Send {u+00e2} ; (â) a with circumflex
else
- Send {u+00cc} ; (Ì) I with grave
+ Send {u+00c2} ; (Â) A with circumflex
return
->!t::
+; Key : F
+>!sc021::
+<^>!sc021::
if GetKeyState("CapsLock", "T")
- Send {u+00ce} ; (Î) I with circumflex
+ Send {u+00c9} ; (É) E with acute
else
- Send {u+00ee} ; (î) i with circumflex
+ Send {u+00e9} ; (é) e with acute
return
->!+t::
+>!+sc021::
+<^>!+sc021::
if GetKeyState("CapsLock", "T")
- Send {u+00ee} ; (î) i with circumflex
+ Send {u+00e9} ; (é) e with acute
else
- Send {u+00ce} ; (Î) I with circumflex
+ Send {u+00c9} ; (É) E with acute
return
->!n::
+; Key : G
+>!sc022::
+<^>!sc022::
if GetKeyState("CapsLock", "T")
- Send {u+00d1} ; (Ñ) N with tilde
+ Send {u+00c8} ; (È) E with grave
else
- Send {u+00f1} ; (ñ) n with tilde
+ Send {u+00e8} ; (è) e with grave
return
->!+n::
+>!+sc022::
+<^>!+sc022::
if GetKeyState("CapsLock", "T")
- Send {u+00f1} ; (ñ) n with tilde
+ Send {u+00e8} ; (è) e with grave
else
- Send {u+00d1} ; (Ñ) N with tilde
+ Send {u+00c8} ; (È) E with grave
return
->!o::
+; Key : H
+>!sc023::
+<^>!sc023::
if GetKeyState("CapsLock", "T")
- Send {u+00d6} ; (Ö) O with diaeresis
+ Send {u+00da} ; (Ú) U with acute
else
- Send {u+00f6} ; (ö) o with diaeresis
+ Send {u+00fa} ; (ú) u with acute
return
->!+o::
+>!+sc023::
+<^>!+sc023::
if GetKeyState("CapsLock", "T")
- Send {u+00f6} ; (ö) o with diaeresis
+ Send {u+00fa} ; (ú) u with acute
else
- Send {u+00d6} ; (Ö) O with diaeresis
+ Send {u+00da} ; (Ú) U with acute
return
->!k::
+; Key : J
+>!sc024::
+<^>!sc024::
+ if GetKeyState("CapsLock", "T")
+ Send {u+00d9} ; (Ù) U with grave
+ else
+ Send {u+00f9} ; (ù) u with grave
+ return
+>!+sc024::
+<^>!+sc024::
+ if GetKeyState("CapsLock", "T")
+ Send {u+00f9} ; (ù) u with grave
+ else
+ Send {u+00d9} ; (Ù) U with grave
+ return
+
+; Key : K
+>!sc025::
+<^>!sc025::
if GetKeyState("CapsLock", "T")
Send {u+0152} ; (Œ) ligature OE
else
Send {u+0153} ; (œ) ligature oe
return
->!+k::
+>!+sc025::
+<^>!+sc025::
if GetKeyState("CapsLock", "T")
Send {u+0153} ; (œ) ligature oe
else
Send {u+0152} ; (Œ) ligature OE
return
->!l::
+; Key : L
+>!sc026::
+<^>!sc026::
if GetKeyState("CapsLock", "T")
Send {u+00d8} ; (Ø) O with stroke
else
Send {u+00f8} ; (ø) o with stroke
return
->!+l::
+>!+sc026::
+<^>!+sc026::
if GetKeyState("CapsLock", "T")
Send {u+00f8} ; (ø) o with stroke
else
Send {u+00d8} ; (Ø) O with stroke
return
->!,::
+; Key : ; / : (semicolon / colon)
+>!sc027::
+<^>!sc027::Send {u+00b0} ; (°) degree sign
+>!+sc027::
+<^>!+sc027::Send {u+00b7} ; (·) middle dot
+
+; Key : ' / " (apostrophe / quotation mark)
+>!sc028::
+<^>!sc028::Send {u+266a} ; (♪) eighth note
+>!+sc028::
+<^>!+sc028::Send {u+266b} ; (♫) beamed eighth notes
+
+; Key : \ / | (backslash / vertical line)
+>!sc02B::
+<^>!sc02B::Send {u+2002} ; en space
+>!+sc02B::
+<^>!+sc02B::Send {u+2003} ; em space
+
+; Key : Z
+>!sc02C::
+<^>!sc02C::
if GetKeyState("CapsLock", "T")
- Send {u+00d3} ; (Ó) O with acute
- else
- Send {u+00f3} ; (ó) o with acute
- return
->!<::
- if GetKeyState("CapsLock", "T")
- Send {u+00f3} ; (ó) o with acute
- else
- Send {u+00d3} ; (Ó) O with acute
- return
-
->!.::
- if GetKeyState("CapsLock", "T")
- Send {u+00d2} ; (Ò) O with grave
+ Send {u+00c1} ; (Á) A with acute
else
- Send {u+00f2} ; (ò) o with grave
+ Send {u+00e1} ; (á) a with acute
return
->!>::
+>!+sc02C::
+<^>!+sc02C::
if GetKeyState("CapsLock", "T")
- Send {u+00f2} ; (ò) o with grave
+ Send {u+00e1} ; (á) a with acute
else
- Send {u+00d2} ; (Ò) O with grave
+ Send {u+00c1} ; (Á) A with acute
return
->!p::
+; Key : X
+>!sc02D::
+<^>!sc02D::
if GetKeyState("CapsLock", "T")
- Send {u+00d4} ; (Ô) O with circumflex
+ Send {u+00c0} ; (À) A with grave
else
- Send {u+00f4} ; (ô) o with circumflex
+ Send {u+00e0} ; (à) a with grave
return
->!+p::
+>!+sc02D::
+<^>!+sc02D::
if GetKeyState("CapsLock", "T")
- Send {u+00f4} ; (ô) o with circumflex
+ Send {u+00e0} ; (à) a with grave
else
- Send {u+00d4} ; (Ô) O with circumflex
+ Send {u+00c0} ; (À) A with grave
return
->!s::
+; Key : C
+>!sc02E::
+<^>!sc02E::
if GetKeyState("CapsLock", "T")
- Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett)
+ Send {u+00c7} ; (Ç) C with cedilla
else
- Send {u+00df} ; (ß) small sharp s (Eszett)
+ Send {u+00e7} ; (ç) c with cedilla
return
->!+s::
+>!+sc02E::
+<^>!+sc02E::
if GetKeyState("CapsLock", "T")
- Send {u+00df} ; (ß) small sharp s (Eszett)
+ Send {u+00e7} ; (ç) c with cedilla
else
- Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett)
+ Send {u+00c7} ; (Ç) C with cedilla
return
->!u::
+; Key : V
+>!sc02F::
+<^>!sc02F::
if GetKeyState("CapsLock", "T")
- Send {u+00dc} ; (Ü) U with diaeresis
+ Send {u+00cd} ; (Í) I with acute
else
- Send {u+00fc} ; (ü) u with diaeresis
+ Send {u+00ed} ; (í) i with acute
return
->!+u::
+>!+sc02F::
+<^>!+sc02F::
if GetKeyState("CapsLock", "T")
- Send {u+00fc} ; (ü) u with diaeresis
+ Send {u+00ed} ; (í) i with acute
else
- Send {u+00dc} ; (Ü) U with diaeresis
+ Send {u+00cd} ; (Í) I with acute
return
->!h::
+; Key : B
+>!sc030::
+<^>!sc030::
if GetKeyState("CapsLock", "T")
- Send {u+00da} ; (Ú) U with acute
+ Send {u+00cc} ; (Ì) I with grave
else
- Send {u+00fa} ; (ú) u with acute
+ Send {u+00ec} ; (ì) i with grave
return
->!+h::
+>!+sc030::
+<^>!+sc030::
if GetKeyState("CapsLock", "T")
- Send {u+00fa} ; (ú) u with acute
+ Send {u+00ec} ; (ì) i with grave
else
- Send {u+00da} ; (Ú) U with acute
+ Send {u+00cc} ; (Ì) I with grave
return
->!j::
+; Key : N
+>!sc031::
+<^>!sc031::
if GetKeyState("CapsLock", "T")
- Send {u+00d9} ; (Ù) U with grave
+ Send {u+00d1} ; (Ñ) N with tilde
else
- Send {u+00f9} ; (ù) u with grave
+ Send {u+00f1} ; (ñ) n with tilde
return
->!+j::
+>!+sc031::
+<^>!+sc031::
if GetKeyState("CapsLock", "T")
- Send {u+00f9} ; (ù) u with grave
+ Send {u+00f1} ; (ñ) n with tilde
else
- Send {u+00d9} ; (Ù) U with grave
+ Send {u+00d1} ; (Ñ) N with tilde
return
->!y::
- if GetKeyState("CapsLock", "T")
- Send {u+00db} ; (Û) U with circumflex
- else
- Send {u+00fb} ; (û) u with circumflex
- return
->!+y::
- if GetKeyState("CapsLock", "T")
- Send {u+00fb} ; (û) u with circumflex
- else
- Send {u+00db} ; (Û) U with circumflex
- return
+; Key : M
+>!sc032::
+<^>!sc032::Send {u+00b5} ; (µ) micro sign
+>!+sc032::
+<^>!+sc032::Send {u+00b1} ; (±) plus-minus sign
->!6::
+; Key : , / < (comma / less-than sign)
+>!sc033::
+<^>!sc033::
if GetKeyState("CapsLock", "T")
- Send {u+00c3} ; (Ã) A with tilde
+ Send {u+00d3} ; (Ó) O with acute
else
- Send {u+00e3} ; (ã) a with tilde
+ Send {u+00f3} ; (ó) o with acute
return
->!+6::
+>!+sc033::
+<^>!+sc033::
if GetKeyState("CapsLock", "T")
- Send {u+00e3} ; (ã) a with tilde
+ Send {u+00f3} ; (ó) o with acute
else
- Send {u+00c3} ; (Ã) A with tilde
+ Send {u+00d3} ; (Ó) O with acute
return
->!7::
+; Key : . / > (period / greater-than sign)
+>!sc034::
+<^>!sc034::
if GetKeyState("CapsLock", "T")
- Send {u+00d5} ; (Õ) O with tilde
+ Send {u+00d2} ; (Ò) O with grave
else
- Send {u+00f5} ; (õ) o with tilde
+ Send {u+00f2} ; (ò) o with grave
return
->!+7::
+>!+sc034::
+<^>!+sc034::
if GetKeyState("CapsLock", "T")
- Send {u+00f5} ; (õ) o with tilde
+ Send {u+00f2} ; (ò) o with grave
else
- Send {u+00d5} ; (Õ) O with tilde
+ Send {u+00d2} ; (Ò) O with grave
return
->!m::Send {u+00b5} ; (µ) micro sign
->!+m::Send {u+00b1} ; (±) plus-minus sign
-
->!1::Send {u+00a1} ; (¡) inverted exclamation mark
->!+1::Send {u+00b9} ; (¹) superscript 1
-
->!2::Send {u+2264} ; (≤) less-than or equal to
->!+2::Send {u+00b2} ; (²) superscript 2
-
->!3::Send {u+2265} ; (≥) greater-than or equal to
->!+3::Send {u+00b3} ; (³) superscript 3
-
->!4::Send {u+00a3} ; (£) pound sign
->!+4::Send {u+00a5} ; (¥) yen sign
-
->!5::Send {u+20ac} ; (€) euro sign
->!+5::Send {u+00a2} ; (¢) cent sign (dollar)
-
->!8::Send {u+201e} ; („) double low-9 quotation mark
->!+8::Send {u+00a7} ; (§) section sign
-
->!9::Send {u+201c} ; (“) left double quotation mark
->!+9::Send {u+2018} ; (‘) left single quotation mark
-
->!0::Send {u+201d} ; (”) right double quotation mark
->!+0::Send {u+2019} ; (’) right single quotation mark
-
->!-::Send {u+2013} ; (–) en dash
->!_::Send {u+2014} ; (—) em dash
-
->!=::Send {u+00d7} ; (×) multiplication sign
->!+::Send {u+00f7} ; (÷) division sign
-
->![::Send {u+00ab} ; («) left-pointing double angle quotation mark
->!{::Send {u+2039} ; (‹) left-pointing single angle quotation mark
-
->!]::Send {u+00bb} ; (») right-pointing double angle quotation mark
->!}::Send {u+203a} ; (›) right-pointing single angle quotation mark
-
->!;::Send {u+00b0} ; (°) degree sign
->!+;::Send {u+00b7} ; (·) middle dot
-
->!'::Send {u+266a} ; (♪) eighth note
->!"::Send {u+266b} ; (♫) beamed eighth notes
-
->!\::Send {u+2002} ; en space
->!|::Send {u+2003} ; em space
-
->!/::Send {u+00bf} ; (¿) inverted question mark
->!?::Send {u+2022} ; (•) bullet
+; Key : / / ? (slash / question mark)
+>!sc035::
+<^>!sc035::Send {u+00bf} ; (¿) inverted question mark
+>!+sc035::
+<^>!+sc035::Send {u+2022} ; (•) bullet
->!space::Send {u+00a0} ; non-breaking space (NBSP)
->!+space::Send {u+00a0} ; non-breaking space (NBSP)
+; Key : (space)
+>!sc039::
+<^>!sc039::Send {u+00a0} ; non-breaking space (NBSP)
+>!+sc039::
+<^>!+sc039::Send {u+00a0} ; non-breaking space (NBSP)
; Configuration : Compose Key Selector
->!`::
->!~::
+>!sc029::
+>!+sc029::
+<^>!sc029::
+<^>!+sc029::
>!sc056::
>!+sc056::
+<^>!sc056::
+<^>!+sc056::
Input, keyA, L1, {bs}{del}{esc}{home}{end}
Input, keyB, L1, {bs}{del}{esc}{home}{end}
#requires AutoHotkey v2
-; UltimateKEYS (for AutoHotkey v2).ahk - 2024-11-20
+; UltimateKEYS (for AutoHotkey v2).ahk - 2024-11-30
; Website : https://pieter-degroote.github.io/UltimateKEYS/
; Configuration :
-; Keyboard layout (on Windows) : US QWERTY
+; Keyboard layout : US QWERTY
cmpMathSymbols["6"] := "{u+2220}" ; (∠) angle symbol
cmpMathSymbols["9"] := "{u+221f}" ; (∟) right angle
cmpMathSymbols["0"] := "{u+2221}" ; (∡) measured angle
-cmpMathSymbols[","] := "{u+2219}" ; (∙) bullet operator
+cmpMathSymbols["."] := "{u+22c5}" ; (⋅) dot operator
+cmpMathSymbols["="] := "{u+225d}" ; (≝) equal to by definition
cmpMathSymbols["+"] := "{u+2295}" ; (⊕) circled plus
cmpMathSymbols["-"] := "{u+2296}" ; (⊖) circled minus
cmpMathSymbols["*"] := "{u+2297}" ; (⊗) circled times
cmpMathSymbols["/"] := "{u+2298}" ; (⊘) circled division slash
-cmpMathSymbols["."] := "{u+2299}" ; (⊙) circled dot operator
-cmpMathSymbols["="] := "{u+225d}" ; (≝) equal to by definition
cmpMathSymbols[";"] := "{u+2235}" ; (∵) because sign
cmpMathSymbols[":"] := "{u+2234}" ; (∴) therefore sign
cmpMathSymbols["&"] := "{u+2227}" ; (∧) logical and
cmpSmallN["0"] := "{u+277f}" ; (❿) dingbat negative circled digit 10
-; Configuration : 'Right Alt' and 'Right Alt + Shift' on US QWERTY
+; Configuration : 'AltGr (RAlt)' and 'AltGr (RAlt) + Shift' modifiers
+
+; Key : 1
+>!sc002::
+<^>!sc002::Send "{u+00a1}" ; (¡) inverted exclamation mark
+>!+sc002::
+<^>!+sc002::Send "{u+00b9}" ; (¹) superscript 1
+
+; Key : 2
+>!sc003::
+<^>!sc003::Send "{u+2264}" ; (≤) less-than or equal to
+>!+sc003::
+<^>!+sc003::Send "{u+00b2}" ; (²) superscript 2
+
+; Key : 3
+>!sc004::
+<^>!sc004::Send "{u+2265}" ; (≥) greater-than or equal to
+>!+sc004::
+<^>!+sc004::Send "{u+00b3}" ; (³) superscript 3
+
+; Key : 4
+>!sc005::
+<^>!sc005::Send "{u+00a3}" ; (£) pound sign
+>!+sc005::
+<^>!+sc005::Send "{u+00a5}" ; (¥) yen sign
+
+; Key : 5
+>!sc006::
+<^>!sc006::Send "{u+20ac}" ; (€) euro sign
+>!+sc006::
+<^>!+sc006::Send "{u+00a2}" ; (¢) cent sign (dollar)
+
+; Key : 6
+>!sc007::
+<^>!sc007:: {
+ if GetKeyState("CapsLock", "T")
+ Send "{u+00c3}" ; (Ã) A with tilde
+ else
+ Send "{u+00e3}" ; (ã) a with tilde
+}
+>!+sc007::
+<^>!+sc007:: {
+ if GetKeyState("CapsLock", "T")
+ Send "{u+00e3}" ; (ã) a with tilde
+ else
+ Send "{u+00c3}" ; (Ã) A with tilde
+}
->!a:: {
+; Key : 7
+>!sc008::
+<^>!sc008:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c4}" ; (Ä) A with diaeresis
+ Send "{u+00d5}" ; (Õ) O with tilde
else
- Send "{u+00e4}" ; (ä) a with diaeresis
+ Send "{u+00f5}" ; (õ) o with tilde
}
->!+a:: {
+>!+sc008::
+<^>!+sc008:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e4}" ; (ä) a with diaeresis
+ Send "{u+00f5}" ; (õ) o with tilde
else
- Send "{u+00c4}" ; (Ä) A with diaeresis
+ Send "{u+00d5}" ; (Õ) O with tilde
}
->!q:: {
+; Key : 8
+>!sc009::
+<^>!sc009::Send "{u+201e}" ; („) double low-9 quotation mark
+>!+sc009::
+<^>!+sc009::Send "{u+00a7}" ; (§) section sign
+
+; Key : 9
+>!sc00A::
+<^>!sc00A::Send "{u+201c}" ; (“) left double quotation mark
+>!+sc00A::
+<^>!+sc00A::Send "{u+2018}" ; (‘) left single quotation mark
+
+; Key : 0
+>!sc00B::
+<^>!sc00B::Send "{u+201d}" ; (”) right double quotation mark
+>!+sc00B::
+<^>!+sc00B::Send "{u+2019}" ; (’) right single quotation mark
+
+; Key : - / _ (hyphen-minus / underscore)
+>!sc00C::
+<^>!sc00C::Send "{u+2013}" ; (–) en dash
+>!+sc00C::
+<^>!+sc00C::Send "{u+2014}" ; (—) em dash
+
+; Key : = / + (equals sign / plus sign)
+>!sc00D::
+<^>!sc00D::Send "{u+00d7}" ; (×) multiplication sign
+>!+sc00D::
+<^>!+sc00D::Send "{u+00f7}" ; (÷) division sign
+
+; Key : Q
+>!sc010::
+<^>!sc010:: {
if GetKeyState("CapsLock", "T")
Send "{u+00c6}" ; (Æ) letter AE
else
Send "{u+00e6}" ; (æ) letter ae
}
->!+q:: {
+>!+sc010::
+<^>!+sc010:: {
if GetKeyState("CapsLock", "T")
Send "{u+00e6}" ; (æ) letter ae
else
Send "{u+00c6}" ; (Æ) letter AE
}
->!w:: {
+; Key : W
+>!sc011::
+<^>!sc011:: {
if GetKeyState("CapsLock", "T")
Send "{u+00c5}" ; (Å) A with ring above
else
Send "{u+00e5}" ; (å) a with ring above
}
->!+w:: {
+>!+sc011::
+<^>!+sc011:: {
if GetKeyState("CapsLock", "T")
Send "{u+00e5}" ; (å) a with ring above
else
Send "{u+00c5}" ; (Å) A with ring above
}
->!z:: {
+; Key : E
+>!sc012::
+<^>!sc012:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c1}" ; (Á) A with acute
+ Send "{u+00cb}" ; (Ë) E with diaeresis
else
- Send "{u+00e1}" ; (á) a with acute
+ Send "{u+00eb}" ; (ë) e with diaeresis
}
->!+z:: {
+>!+sc012::
+<^>!+sc012:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e1}" ; (á) a with acute
+ Send "{u+00eb}" ; (ë) e with diaeresis
else
- Send "{u+00c1}" ; (Á) A with acute
+ Send "{u+00cb}" ; (Ë) E with diaeresis
}
->!x:: {
+; Key : R
+>!sc013::
+<^>!sc013:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c0}" ; (À) A with grave
+ Send "{u+00ca}" ; (Ê) E with circumflex
else
- Send "{u+00e0}" ; (à) a with grave
+ Send "{u+00ea}" ; (ê) e with circumflex
}
->!+x:: {
+>!+sc013::
+<^>!+sc013:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e0}" ; (à) a with grave
+ Send "{u+00ea}" ; (ê) e with circumflex
else
- Send "{u+00c0}" ; (À) A with grave
+ Send "{u+00ca}" ; (Ê) E with circumflex
}
->!d:: {
+; Key : T
+>!sc014::
+<^>!sc014:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c2}" ; (Â) A with circumflex
+ Send "{u+00ce}" ; (Î) I with circumflex
else
- Send "{u+00e2}" ; (â) a with circumflex
+ Send "{u+00ee}" ; (î) i with circumflex
}
->!+d:: {
+>!+sc014::
+<^>!+sc014:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e2}" ; (â) a with circumflex
+ Send "{u+00ee}" ; (î) i with circumflex
else
- Send "{u+00c2}" ; (Â) A with circumflex
+ Send "{u+00ce}" ; (Î) I with circumflex
}
->!c:: {
+; Key : Y
+>!sc015::
+<^>!sc015:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c7}" ; (Ç) C with cedilla
+ Send "{u+00db}" ; (Û) U with circumflex
else
- Send "{u+00e7}" ; (ç) c with cedilla
+ Send "{u+00fb}" ; (û) u with circumflex
}
->!+c:: {
+>!+sc015::
+<^>!+sc015:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e7}" ; (ç) c with cedilla
+ Send "{u+00fb}" ; (û) u with circumflex
else
- Send "{u+00c7}" ; (Ç) C with cedilla
+ Send "{u+00db}" ; (Û) U with circumflex
}
->!e:: {
+; Key : U
+>!sc016::
+<^>!sc016:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00cb}" ; (Ë) E with diaeresis
+ Send "{u+00dc}" ; (Ü) U with diaeresis
else
- Send "{u+00eb}" ; (ë) e with diaeresis
+ Send "{u+00fc}" ; (ü) u with diaeresis
}
->!+e:: {
+>!+sc016::
+<^>!+sc016:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00eb}" ; (ë) e with diaeresis
+ Send "{u+00fc}" ; (ü) u with diaeresis
else
- Send "{u+00cb}" ; (Ë) E with diaeresis
+ Send "{u+00dc}" ; (Ü) U with diaeresis
}
->!f:: {
+; Key : I
+>!sc017::
+<^>!sc017:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c9}" ; (É) E with acute
+ Send "{u+00cf}" ; (Ï) I with diaeresis
else
- Send "{u+00e9}" ; (é) e with acute
+ Send "{u+00ef}" ; (ï) i with diaeresis
}
->!+f:: {
+>!+sc017::
+<^>!+sc017:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e9}" ; (é) e with acute
+ Send "{u+00ef}" ; (ï) i with diaeresis
else
- Send "{u+00c9}" ; (É) E with acute
+ Send "{u+00cf}" ; (Ï) I with diaeresis
}
->!g:: {
+; Key : O
+>!sc018::
+<^>!sc018:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c8}" ; (È) E with grave
+ Send "{u+00d6}" ; (Ö) O with diaeresis
else
- Send "{u+00e8}" ; (è) e with grave
+ Send "{u+00f6}" ; (ö) o with diaeresis
}
->!+g:: {
+>!+sc018::
+<^>!+sc018:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e8}" ; (è) e with grave
+ Send "{u+00f6}" ; (ö) o with diaeresis
else
- Send "{u+00c8}" ; (È) E with grave
+ Send "{u+00d6}" ; (Ö) O with diaeresis
}
->!r:: {
+; Key : P
+>!sc019::
+<^>!sc019:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00ca}" ; (Ê) E with circumflex
+ Send "{u+00d4}" ; (Ô) O with circumflex
else
- Send "{u+00ea}" ; (ê) e with circumflex
+ Send "{u+00f4}" ; (ô) o with circumflex
}
->!+r:: {
+>!+sc019::
+<^>!+sc019:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00ea}" ; (ê) e with circumflex
+ Send "{u+00f4}" ; (ô) o with circumflex
else
- Send "{u+00ca}" ; (Ê) E with circumflex
+ Send "{u+00d4}" ; (Ô) O with circumflex
}
->!i:: {
+; Key : [ / { (left square bracket / left curly bracket)
+>!sc01A::
+<^>!sc01A::Send "{u+00ab}" ; («) left-pointing double angle quotation mark
+>!+sc01A::
+<^>!+sc01A::Send "{u+2039}" ; (‹) left-pointing single angle quotation mark
+
+; Key : ] / } (right square bracket / right curly bracket)
+>!sc01B::
+<^>!sc01B::Send "{u+00bb}" ; (») right-pointing double angle quotation mark
+>!+sc01B::
+<^>!+sc01B::Send "{u+203a}" ; (›) right-pointing single angle quotation mark
+
+; Key : A
+>!sc01E::
+<^>!sc01E:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00cf}" ; (Ï) I with diaeresis
+ Send "{u+00c4}" ; (Ä) A with diaeresis
else
- Send "{u+00ef}" ; (ï) i with diaeresis
+ Send "{u+00e4}" ; (ä) a with diaeresis
}
->!+i:: {
+>!+sc01E::
+<^>!+sc01E:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00ef}" ; (ï) i with diaeresis
+ Send "{u+00e4}" ; (ä) a with diaeresis
else
- Send "{u+00cf}" ; (Ï) I with diaeresis
+ Send "{u+00c4}" ; (Ä) A with diaeresis
}
->!v:: {
+; Key : S
+>!sc01F::
+<^>!sc01F:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00cd}" ; (Í) I with acute
+ Send "{u+1e9e}" ; (ẞ) capital sharp S (capital Eszett)
else
- Send "{u+00ed}" ; (í) i with acute
+ Send "{u+00df}" ; (ß) small sharp s (Eszett)
}
->!+v:: {
+>!+sc01F::
+<^>!+sc01F:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00ed}" ; (í) i with acute
+ Send "{u+00df}" ; (ß) small sharp s (Eszett)
else
- Send "{u+00cd}" ; (Í) I with acute
+ Send "{u+1e9e}" ; (ẞ) capital sharp S (capital Eszett)
}
->!b:: {
+; Key : D
+>!sc020::
+<^>!sc020:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00cc}" ; (Ì) I with grave
+ Send "{u+00c2}" ; (Â) A with circumflex
else
- Send "{u+00ec}" ; (ì) i with grave
+ Send "{u+00e2}" ; (â) a with circumflex
}
->!+b:: {
+>!+sc020::
+<^>!+sc020:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00ec}" ; (ì) i with grave
+ Send "{u+00e2}" ; (â) a with circumflex
else
- Send "{u+00cc}" ; (Ì) I with grave
+ Send "{u+00c2}" ; (Â) A with circumflex
}
->!t:: {
+; Key : F
+>!sc021::
+<^>!sc021:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00ce}" ; (Î) I with circumflex
+ Send "{u+00c9}" ; (É) E with acute
else
- Send "{u+00ee}" ; (î) i with circumflex
+ Send "{u+00e9}" ; (é) e with acute
}
->!+t:: {
+>!+sc021::
+<^>!+sc021:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00ee}" ; (î) i with circumflex
+ Send "{u+00e9}" ; (é) e with acute
else
- Send "{u+00ce}" ; (Î) I with circumflex
+ Send "{u+00c9}" ; (É) E with acute
}
->!n:: {
+; Key : G
+>!sc022::
+<^>!sc022:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00d1}" ; (Ñ) N with tilde
+ Send "{u+00c8}" ; (È) E with grave
else
- Send "{u+00f1}" ; (ñ) n with tilde
+ Send "{u+00e8}" ; (è) e with grave
}
->!+n:: {
+>!+sc022::
+<^>!+sc022:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00f1}" ; (ñ) n with tilde
+ Send "{u+00e8}" ; (è) e with grave
else
- Send "{u+00d1}" ; (Ñ) N with tilde
+ Send "{u+00c8}" ; (È) E with grave
}
->!o:: {
+; Key : H
+>!sc023::
+<^>!sc023:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00d6}" ; (Ö) O with diaeresis
+ Send "{u+00da}" ; (Ú) U with acute
else
- Send "{u+00f6}" ; (ö) o with diaeresis
+ Send "{u+00fa}" ; (ú) u with acute
}
->!+o:: {
+>!+sc023::
+<^>!+sc023:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00f6}" ; (ö) o with diaeresis
+ Send "{u+00fa}" ; (ú) u with acute
else
- Send "{u+00d6}" ; (Ö) O with diaeresis
+ Send "{u+00da}" ; (Ú) U with acute
}
->!k:: {
+; Key : J
+>!sc024::
+<^>!sc024:: {
+ if GetKeyState("CapsLock", "T")
+ Send "{u+00d9}" ; (Ù) U with grave
+ else
+ Send "{u+00f9}" ; (ù) u with grave
+}
+>!+sc024::
+<^>!+sc024:: {
+ if GetKeyState("CapsLock", "T")
+ Send "{u+00f9}" ; (ù) u with grave
+ else
+ Send "{u+00d9}" ; (Ù) U with grave
+}
+
+; Key : K
+>!sc025::
+<^>!sc025:: {
if GetKeyState("CapsLock", "T")
Send "{u+0152}" ; (Œ) ligature OE
else
Send "{u+0153}" ; (œ) ligature oe
}
->!+k:: {
+>!+sc025::
+<^>!+sc025:: {
if GetKeyState("CapsLock", "T")
Send "{u+0153}" ; (œ) ligature oe
else
Send "{u+0152}" ; (Œ) ligature OE
}
->!l:: {
+; Key : L
+>!sc026::
+<^>!sc026:: {
if GetKeyState("CapsLock", "T")
Send "{u+00d8}" ; (Ø) O with stroke
else
Send "{u+00f8}" ; (ø) o with stroke
}
->!+l:: {
+>!+sc026::
+<^>!+sc026:: {
if GetKeyState("CapsLock", "T")
Send "{u+00f8}" ; (ø) o with stroke
else
Send "{u+00d8}" ; (Ø) O with stroke
}
->!,:: {
+; Key : ; / : (semicolon / colon)
+>!sc027::
+<^>!sc027::Send "{u+00b0}" ; (°) degree sign
+>!+sc027::
+<^>!+sc027::Send "{u+00b7}" ; (·) middle dot
+
+; Key : ' / " (apostrophe / quotation mark)
+>!sc028::
+<^>!sc028::Send "{u+266a}" ; (♪) eighth note
+>!+sc028::
+<^>!+sc028::Send "{u+266b}" ; (♫) beamed eighth notes
+
+; Key : \ / | (backslash / vertical line)
+>!sc02B::
+<^>!sc02B::Send "{u+2002}" ; en space
+>!+sc02B::
+<^>!+sc02B::Send "{u+2003}" ; em space
+
+; Key : Z
+>!sc02C::
+<^>!sc02C:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00d3}" ; (Ó) O with acute
- else
- Send "{u+00f3}" ; (ó) o with acute
-}
->!<:: {
- if GetKeyState("CapsLock", "T")
- Send "{u+00f3}" ; (ó) o with acute
- else
- Send "{u+00d3}" ; (Ó) O with acute
-}
-
->!.:: {
- if GetKeyState("CapsLock", "T")
- Send "{u+00d2}" ; (Ò) O with grave
+ Send "{u+00c1}" ; (Á) A with acute
else
- Send "{u+00f2}" ; (ò) o with grave
+ Send "{u+00e1}" ; (á) a with acute
}
->!>:: {
+>!+sc02C::
+<^>!+sc02C:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00f2}" ; (ò) o with grave
+ Send "{u+00e1}" ; (á) a with acute
else
- Send "{u+00d2}" ; (Ò) O with grave
+ Send "{u+00c1}" ; (Á) A with acute
}
->!p:: {
+; Key : X
+>!sc02D::
+<^>!sc02D:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00d4}" ; (Ô) O with circumflex
+ Send "{u+00c0}" ; (À) A with grave
else
- Send "{u+00f4}" ; (ô) o with circumflex
+ Send "{u+00e0}" ; (à) a with grave
}
->!+p:: {
+>!+sc02D::
+<^>!+sc02D:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00f4}" ; (ô) o with circumflex
+ Send "{u+00e0}" ; (à) a with grave
else
- Send "{u+00d4}" ; (Ô) O with circumflex
+ Send "{u+00c0}" ; (À) A with grave
}
->!s:: {
+; Key : C
+>!sc02E::
+<^>!sc02E:: {
if GetKeyState("CapsLock", "T")
- Send "{u+1e9e}" ; (ẞ) capital sharp S (capital Eszett)
+ Send "{u+00c7}" ; (Ç) C with cedilla
else
- Send "{u+00df}" ; (ß) small sharp s (Eszett)
+ Send "{u+00e7}" ; (ç) c with cedilla
}
->!+s:: {
+>!+sc02E::
+<^>!+sc02E:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00df}" ; (ß) small sharp s (Eszett)
+ Send "{u+00e7}" ; (ç) c with cedilla
else
- Send "{u+1e9e}" ; (ẞ) capital sharp S (capital Eszett)
+ Send "{u+00c7}" ; (Ç) C with cedilla
}
->!u:: {
+; Key : V
+>!sc02F::
+<^>!sc02F:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00dc}" ; (Ü) U with diaeresis
+ Send "{u+00cd}" ; (Í) I with acute
else
- Send "{u+00fc}" ; (ü) u with diaeresis
+ Send "{u+00ed}" ; (í) i with acute
}
->!+u:: {
+>!+sc02F::
+<^>!+sc02F:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00fc}" ; (ü) u with diaeresis
+ Send "{u+00ed}" ; (í) i with acute
else
- Send "{u+00dc}" ; (Ü) U with diaeresis
+ Send "{u+00cd}" ; (Í) I with acute
}
->!h:: {
+; Key : B
+>!sc030::
+<^>!sc030:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00da}" ; (Ú) U with acute
+ Send "{u+00cc}" ; (Ì) I with grave
else
- Send "{u+00fa}" ; (ú) u with acute
+ Send "{u+00ec}" ; (ì) i with grave
}
->!+h:: {
+>!+sc030::
+<^>!+sc030:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00fa}" ; (ú) u with acute
+ Send "{u+00ec}" ; (ì) i with grave
else
- Send "{u+00da}" ; (Ú) U with acute
+ Send "{u+00cc}" ; (Ì) I with grave
}
->!j:: {
+; Key : N
+>!sc031::
+<^>!sc031:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00d9}" ; (Ù) U with grave
+ Send "{u+00d1}" ; (Ñ) N with tilde
else
- Send "{u+00f9}" ; (ù) u with grave
+ Send "{u+00f1}" ; (ñ) n with tilde
}
->!+j:: {
+>!+sc031::
+<^>!+sc031:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00f9}" ; (ù) u with grave
+ Send "{u+00f1}" ; (ñ) n with tilde
else
- Send "{u+00d9}" ; (Ù) U with grave
+ Send "{u+00d1}" ; (Ñ) N with tilde
}
->!y:: {
- if GetKeyState("CapsLock", "T")
- Send "{u+00db}" ; (Û) U with circumflex
- else
- Send "{u+00fb}" ; (û) u with circumflex
-}
->!+y:: {
- if GetKeyState("CapsLock", "T")
- Send "{u+00fb}" ; (û) u with circumflex
- else
- Send "{u+00db}" ; (Û) U with circumflex
-}
+; Key : M
+>!sc032::
+<^>!sc032::Send "{u+00b5}" ; (µ) micro sign
+>!+sc032::
+<^>!+sc032::Send "{u+00b1}" ; (±) plus-minus sign
->!6:: {
+; Key : , / < (comma / less-than sign)
+>!sc033::
+<^>!sc033:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00c3}" ; (Ã) A with tilde
+ Send "{u+00d3}" ; (Ó) O with acute
else
- Send "{u+00e3}" ; (ã) a with tilde
+ Send "{u+00f3}" ; (ó) o with acute
}
->!+6:: {
+>!+sc033::
+<^>!+sc033:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00e3}" ; (ã) a with tilde
+ Send "{u+00f3}" ; (ó) o with acute
else
- Send "{u+00c3}" ; (Ã) A with tilde
+ Send "{u+00d3}" ; (Ó) O with acute
}
->!7:: {
+; Key : . / > (period / greater-than sign)
+>!sc034::
+<^>!sc034:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00d5}" ; (Õ) O with tilde
+ Send "{u+00d2}" ; (Ò) O with grave
else
- Send "{u+00f5}" ; (õ) o with tilde
+ Send "{u+00f2}" ; (ò) o with grave
}
->!+7:: {
+>!+sc034::
+<^>!+sc034:: {
if GetKeyState("CapsLock", "T")
- Send "{u+00f5}" ; (õ) o with tilde
+ Send "{u+00f2}" ; (ò) o with grave
else
- Send "{u+00d5}" ; (Õ) O with tilde
+ Send "{u+00d2}" ; (Ò) O with grave
}
->!m::Send "{u+00b5}" ; (µ) micro sign
->!+m::Send "{u+00b1}" ; (±) plus-minus sign
-
->!1::Send "{u+00a1}" ; (¡) inverted exclamation mark
->!+1::Send "{u+00b9}" ; (¹) superscript 1
-
->!2::Send "{u+2264}" ; (≤) less-than or equal to
->!+2::Send "{u+00b2}" ; (²) superscript 2
-
->!3::Send "{u+2265}" ; (≥) greater-than or equal to
->!+3::Send "{u+00b3}" ; (³) superscript 3
-
->!4::Send "{u+00a3}" ; (£) pound sign
->!+4::Send "{u+00a5}" ; (¥) yen sign
-
->!5::Send "{u+20ac}" ; (€) euro sign
->!+5::Send "{u+00a2}" ; (¢) cent sign (dollar)
-
->!8::Send "{u+201e}" ; („) double low-9 quotation mark
->!+8::Send "{u+00a7}" ; (§) section sign
-
->!9::Send "{u+201c}" ; (“) left double quotation mark
->!+9::Send "{u+2018}" ; (‘) left single quotation mark
-
->!0::Send "{u+201d}" ; (”) right double quotation mark
->!+0::Send "{u+2019}" ; (’) right single quotation mark
-
->!-::Send "{u+2013}" ; (–) en dash
->!_::Send "{u+2014}" ; (—) em dash
-
->!=::Send "{u+00d7}" ; (×) multiplication sign
->!+::Send "{u+00f7}" ; (÷) division sign
-
->![::Send "{u+00ab}" ; («) left-pointing double angle quotation mark
->!{::Send "{u+2039}" ; (‹) left-pointing single angle quotation mark
-
->!]::Send "{u+00bb}" ; (») right-pointing double angle quotation mark
->!}::Send "{u+203a}" ; (›) right-pointing single angle quotation mark
-
->!;::Send "{u+00b0}" ; (°) degree sign
->!+;::Send "{u+00b7}" ; (·) middle dot
-
->!'::Send "{u+266a}" ; (♪) eighth note
->!"::Send "{u+266b}" ; (♫) beamed eighth notes
-
->!\::Send "{u+2002}" ; en space
->!|::Send "{u+2003}" ; em space
-
->!/::Send "{u+00bf}" ; (¿) inverted question mark
->!?::Send "{u+2022}" ; (•) bullet
+; Key : / / ? (slash / question mark)
+>!sc035::
+<^>!sc035::Send "{u+00bf}" ; (¿) inverted question mark
+>!+sc035::
+<^>!+sc035::Send "{u+2022}" ; (•) bullet
->!space::Send "{u+00a0}" ; non-breaking space (NBSP)
->!+space::Send "{u+00a0}" ; non-breaking space (NBSP)
+; Key : (space)
+>!sc039::
+<^>!sc039::Send "{u+00a0}" ; non-breaking space (NBSP)
+>!+sc039::
+<^>!+sc039::Send "{u+00a0}" ; non-breaking space (NBSP)
; Configuration : Compose Key Selector
->!`::
->!~::
+>!sc029::
+>!+sc029::
+<^>!sc029::
+<^>!+sc029::
>!sc056::
->!+sc056:: {
+>!+sc056::
+<^>!sc056::
+<^>!+sc056:: {
ihA := InputHook("L1", gEndKeys)
ihA.Start()
ihA.Wait()