this might be a bit comprehensive:
y::z
z::y
!a::Send("{U+00E4}") ; Alt + a → ä
!+A::Send("{U+00C4}") ; Alt + Shift + A → Ä
!o::Send("{U+00F6}") ; Alt + o → ö
!+O::Send("{U+00D6}") ; Alt + Shift + O → Ö
!u::Send("{U+00FC}") ; Alt + u → ü
!+U::Send("{U+00DC}") ; Alt + Shift + U → Ü
!s::Send("{U+00DF}") ; Alt + s → ß
!e::Send("{U+20AC}") ; Alt + e → €
!=::Send("{U+2260}") ; ≠
!.::Send("{U+2192}") ; →
+::Send("{U+005D}") ; ]
*::Send("{U+007D}") ; }
+2::Send("{U+0040}") ; @
+3::Send("{U+0023}") ; #
+6::Send("{U+005E}") ; ^
+7::Send("{U+0026}") ; &
+8::Send("{U+002A}") ; *
+9::Send("{U+0028}") ; (
+0::Send("{U+0029}") ; )
ß::Send("{U+002D}") ; -
+ß::Send("{U+005F}") ; _
´::Send("{U+003D}") ; =
+´::Send("{U+002B}") ; +
ö::Send("{U+003B}") ; ;
+ö::Send("{U+003A}") ; :
ä::Send("{U+0027}") ; '
+ä::Send("{U+0022}") ; "
ü::Send("{U+005B}") ; [
+ü::Send("{U+007B}") ; {
^::Send("{U+0060}") ; `
+°::Send("{U+007E}") ; ~
#::Send("{U+005C}") ; \
+'::Send("{U+007C}") ; |
-::Send("{U+002F}") ; /
+-::Send("{U+003F}") ; ?