Aqui está o script AHK que estou usando há um ano:
language := 0
;;; Forced Hebrew: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;
#z::
language := 0
Return
+#z::
language := 1
Return
#if language=1 and not GetKeyState("Capslock", "T")
':: SendInput {;}
q:: SendInput /
w:: SendInput '
e:: SendInput ק
r:: SendInput ר
t:: SendInput א
y:: SendInput ט
u:: SendInput ו
i:: SendInput ן
o:: SendInput ם
p:: SendInput פ
a:: SendInput ש
s:: SendInput ד
d:: SendInput ג
f:: SendInput כ
g:: SendInput ע
h:: SendInput י
j:: SendInput ח
k:: SendInput ל
l:: SendInput ך
';:: SendInput ף
':: SendInput ',
z:: SendInput ז
x:: SendInput ס
c:: SendInput ב
v:: SendInput ה
b:: SendInput נ
n:: SendInput מ
m:: SendInput צ
,:: SendInput ת
.:: SendInput ץ
/:: SendInput .
(:: SendInput )
):: SendInput (
[:: SendInput ]
]:: SendInput [
>:: SendInput <
<:: SendInput >
#if
; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;