; ; AutoHotkey Version: 1.x ; Language: English ; Platform: Win9x/NT ; Author: SvdW ; ; Script Function: ; Template script (you can customize this template by editing "ShellNew\Template.ahk" in your Windows folder) ; #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ;SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. ;IMPORTANT, you must save this script as UTF-8 to make it work. ; Alt+t is voor info box ;!t:: ;text = ;( ; Shift ;Alt + c ç Ç ;Alt + g ğ Ğ ;Alt + i ı İ ;Alt + o ö Ö ;Alt + s ş Ş ;Alt + u ü Ü ;) ;MsgBox, 64, Turkish keyboard characters, %text% ;return ; Alt+c is ç !c::SendU("ç") ; Alt+g is ğ !g::SendU("ğ") ; Alt+i is ı !i::SendU("ı") ; Alt+o is ö !o::SendU("ö") ; Alt+s is ş !s::SendU("ş") ; Alt+u is ü !u::SendU("ü") ; Alt+Shift+c is Ç !+c::SendU("Ç") ; Alt+Shift+g is Ğ !+g::SendU("Ğ") ; Alt+Shift+i is İ !+i::SendU("İ") ; Alt+Shift+o is Ö !+o::SendU("Ö") ; Alt+Shift+s is Ş !+s::SendU("Ş") ; Alt+Shift+u is Ü !+u::SendU("Ü") ; Alt+a is â !a::SendU("â") ; Alt+Shift+a is  !+a::SendU("Â") SendU(Data, Raw = 0) { SaveFormat := A_FormatInteger SetFormat IntegerFast, H Loop Parse, Data { If (BytesLeft > 0) { CodePoint := (CodePoint << 6) + (Asc(A_LoopField) & 63) If (--BytesLeft = 0) OutPut .= "{U+" SubStr(CodePoint, 3) "}" } Else { If Asc(A_LoopField) < 192 If (Raw AND InStr("!#+^{}", A_LoopField)) OutPut .= "{" A_LoopField "}" Else OutPut .= A_LoopField Else If Asc(A_LoopField) < 224 CodePoint := Asc(A_LoopField) & 31, BytesLeft := 1 Else If Asc(A_LoopField) < 240 CodePoint := Asc(A_LoopField) & 15, BytesLeft := 2 Else CodePoint := Asc(A_LoopField) & 7, BytesLeft := 3 } } ;MsgBox, 4132, SendUTF8, Sending: >%OutPut%< Send %OutPut% SetFormat IntegerFast, %SaveFormat% }