Search code examples
autohotkeykeyboard-layout

Simulate QWERTY on QWERTZ with script


At my school, the Windows control panel is locked and I am only allow to use the standard German QWERTZ layout there, which I cannot touch-type on. With the agreement of my teacher, I am allowed to use a program or script to simulate the QWERTY layout, which I am used to. This is what I got so far:

y::z
z::y
-::Sendraw /
+-::Sendraw ?
+::Sendraw ]
*::SendRaw }
+2::SendRaw @
+3::SendRaw #
+6::Send {^}{Space}
+7::SendRaw &
+8::SendRaw *
+9::SendRaw (
+0::SendRaw )
ß::SendRaw -
+ß::SendRaw _
´::Send {U+003D}
+´::SendRaw +
ö::Send {U+003B}
+ö::SendRaw :
ä::SendRaw '
+ä::SendRaw "
ü::SendRaw [
+ü::SendRaw {

Most things work nicely except Shift + 7, 8, 9, 0 and ´

  • Shift + 8, 9 or 0 all produce }
  • Shift + 7 produces an ^
  • Shift + ´ produces an ]
  • Minus produces an ^
  • Shift + - produces an overflow error.

Fetch pressed keys by unicode is not possible from what I understand.

What am I doing wrong? Do you maybe know a program which does exactly this, so I can just leave all this?


Solution

  • y::z
    z::y
    -::Send {U+002F}        ; /
    +-::Send {U+003F}       ; ?
    +::Send {U+005D}        ; ]
    *::Send {U+007D}        ; }
    +2::Send {U+0040}       ; (
    +3::Send {U+0023}       ; #
    +6::Send {U+005E}{Space}; ^
    +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}       ; |
    

    You just have to use unicode characters as output.