Post Self
Post Self

Reputation: 1564

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 ´

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?

Upvotes: 1

Views: 384

Answers (2)

Papa Analytica
Papa Analytica

Reputation: 187

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}")  ; ?

Upvotes: 0

Post Self
Post Self

Reputation: 1564

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.

Upvotes: 1

Related Questions