/* SHORTCUTS Da in diesem AHK-Skript sämtliche Tastendrücke zur weiteren Verarbeitung in Unicode- und Spezialzeichen umgewandelt werden, müssen sie für eine effiziente Tasten-Ausgabe, wo möglich, zurück gewandelt werden. Dazu dienen Shortcuts: Soll beispielsweise das Unicode-Zeichen U0061 (kleines a) ausgegeben werden, muss dieses durch "send {a}" ersetzt werden. Die dafür notwendigen Rückwandlungskonstanten werden hier, teilweise automatisiert, definiert und im entsprechenden Unterprogramm zur Anwendung gebracht. */ ; ###### Shortcuts für alle ASCII-Zeichen (0x21 bis 0x7E) SetFormat, integer, hex char := 0x21 loop { s1 := SubStr(char,3) CSU00%s1% := chr(char) char += 1 if (char = 0x7E) break } SetFormat, integer, d ; #### weitere Shortcuts CSU0008 := "Backspace" CSU0009 := "tab" CSU000D := "Enter" CSU001B := "esc" CSU0020 := "space" /**** die folgenden Shortcuts ersetzen die automatische Wahl entsprechender **** down- und up-Sendezeichen, da die Zeichenerzeugung entweder aufwändiger **** ist (wie bei den diversen toten Zeichen) oder schlicht mit AHK nicht **** geht (wie das Key-Repeat der schließenden Klammer). */ ; DNCSU005E := "{^}{space}" ; DNCSU0060 := "{``}{space}" ; DNCSU00B4 := "{´}{space}" CSU005E := "" CSU0060 := "" CSU00B4 := "" DNCSU007D := "{}}" ; "{} down}" geht nicht, warum auch immer ; CSU007D := "" /**** die meisten der folgenden Shortcuts werden von AHK zwar verarbeitet, **** von dort aber nur als ALT+Numpad verschickt und daher nicht für alle **** Programme nutzbar, also auskommentiert und als Unicode-Zeichen **** geschickt. */ CSU20AC := chr(128) ; € ; CSU201A := chr(130) ; ‚ ; CSU0192 := chr(131) ; ƒ ; CSU201E := chr(132) ; „ ; CSU2026 := chr(133) ; … ; CSU2020 := chr(134) ; † ; CSU2021 := chr(135) ; ‡ ; CSU02C6 := chr(136) ; ˆ ; CSU2030 := chr(137) ; ‰ ; CSU0160 := chr(138) ; Š ; CSU2039 := chr(139) ; ‹ ; CSU0152 := chr(140) ; Œ ; CSU017D := chr(142) ; Ž ; CSU2018 := chr(145) ; ‘ ; CSU2019 := chr(146) ; ’ ; CSU201C := chr(147) ; “ ; CSU201D := chr(148) ; ” ; CSU2022 := chr(149) ; • ; CSU2013 := chr(150) ; – ; CSU2014 := chr(151) ; — ; CSU02DC := chr(152) ; ˜ ; CSU2122 := chr(153) ; ™ ; CSU0161 := chr(154) ; š ; CSU203A := chr(155) ; › ; CSU0153 := chr(156) ; œ ; CSU017E := chr(158) ; ž ; CSU0178 := chr(159) ; Ÿ CSU00A7 := chr(167) ; § CSU00B0 := chr(176) ; ° CSU00B2 := chr(178) ; ² CSU00B3 := chr(179) ; ³ ; CSU00B4 := chr(180) ; ´ CSU00B5 := chr(181) ; µ CSU00C4 := chr(196) ; Ä CSU00D6 := chr(214) ; Ö CSU00DC := chr(220) ; Ü CSU00DF := chr(223) ; ß CSU00E4 := chr(228) ; ä CSU00F6 := chr(246) ; ö CSU00FC := chr(252) ; ü CSU00FF := chr(255) ; ÿ CSSSh_L := "LShift" CSSSh_R := "RShift" CSSCaps := "CapsLock" CSS_Del := "Delete" CSS_Ins := "Insert" CSS__Up := "Up" CSSDown := "Down" CSSRght := "Right" CSSLeft := "Left" CSSPgUp := "PgUp" CSSPgDn := "PgDn" CSSHome := "Home" CSS_End := "End" CSS__F1 := "F1" CSS__F2 := "F2" CSS__F3 := "F3" CSS__F4 := "F4" CSS__F5 := "F5" CSS__F6 := "F6" CSS__F7 := "F7" CSS__F8 := "F8" CSS__F9 := "F9" CSS_F10 := "F10" CSS_F11 := "F11" CSS_F12 := "F12" CSSN__0 := "Numpad0" CSSN__1 := "Numpad1" CSSN__2 := "Numpad2" CSSN__3 := "Numpad3" CSSN__4 := "Numpad4" CSSN__5 := "Numpad5" CSSN__6 := "Numpad6" CSSN__7 := "Numpad7" CSSN__8 := "Numpad8" CSSN__9 := "Numpad9" CSSNDiv := "NumpadDiv" CSSNMul := "NumpadMult" CSSNSub := "NumpadSub" CSSNAdd := "NumpadAdd" CSSNDot := "NumpadDot" CSSNEnt := "NumpadEnter" CSSNDel := "NumpadDel" CSSNIns := "NumpadIns" CSSN_Up := "NumpadUp" CSSN_Dn := "NumpadDown" CSSN_Ri := "NumpadRight" CSSN_Le := "NumpadLeft" CSSNPUp := "NumpadPgUp" CSSNPDn := "NumpadPgDn" CSSNHom := "NumpadHome" CSSNEnd := "NumpadEnd" CSSNClr := "NumpadClear" CSSL_M2 := "LShift" CSSR_M2 := "RShift" /* Für alle Zeichen, die durch Tastendrücke ohne Shift-Taste zustande kommen, muss eine gegebenenfalls gedrückte Shift-Taste vor dem Senden temporär gelöst werden. Dafür werden für sämtliche relevante Zeichen die passenden UNSHU.... Variablen gesetzt. */ ; Reihe 1 UNSHU005E := 1 ; ^ UNSHU0031 := 1 ; 1 UNSHU0032 := 1 ; 2 UNSHU0033 := 1 ; 3 UNSHU0034 := 1 ; 4 UNSHU0035 := 1 ; 5 UNSHU0036 := 1 ; 6 UNSHU0037 := 1 ; 7 UNSHU0038 := 1 ; 8 UNSHU0039 := 1 ; 9 UNSHU0030 := 1 ; 0 UNSHU00DF := 1 ; ß UNSHU00B4 := 1 ; ´ ; Alphabet UNSHU0061 := 1 ; a UNSHU0062 := 1 ; b UNSHU0063 := 1 ; c UNSHU0064 := 1 ; d UNSHU0065 := 1 ; e UNSHU0066 := 1 ; f UNSHU0067 := 1 ; g UNSHU0068 := 1 ; h UNSHU0069 := 1 ; i UNSHU006A := 1 ; j UNSHU006B := 1 ; k UNSHU006C := 1 ; l UNSHU006D := 1 ; m UNSHU006E := 1 ; n UNSHU006F := 1 ; o UNSHU0070 := 1 ; p UNSHU0071 := 1 ; q UNSHU0072 := 1 ; r UNSHU0073 := 1 ; s UNSHU0074 := 1 ; t UNSHU0075 := 1 ; u UNSHU0076 := 1 ; v UNSHU0077 := 1 ; w UNSHU0078 := 1 ; x UNSHU0079 := 1 ; y UNSHU007A := 1 ; z UNSHU00E4 := 1 ; ä UNSHU00F6 := 1 ; ö UNSHU00FC := 1 ; ü ; Rest UNSHU002B := 1 ; + UNSHU0023 := 1 ; # UNSHU003C := 1 ; < UNSHU002C := 1 ; , UNSHU002E := 1 ; . UNSHU002D := 1 ; - ; AltGr UNSHU00B2 := 1 ; ² UNSHU00B3 := 1 ; ³ UNSHU007B := 1 ; { UNSHU005B := 1 ; [ UNSHU005D := 1 ; ] UNSHU007D := 1 ; } UNSHU005C := 1 ; \ UNSHU0040 := 1 ; @ UNSHU20AC := 1 ; Euro UNSHU007E := 1 ; ~ UNSHU007C := 1 ; | UNSHU00B5 := 1 ; µ /* Jetzt noch ein paar Verschönerungsabkürzungen */ CBS__M2 := "Shift+" CBS__M3 := "Mod3+" CBS__M4 := "Mod4+" CBS__M5 := "Mod5=Shift+Mod3+" CBS__M6 := "Mod6=Mod3+Mod4+" CBS__M7 := "Mod7=Shift+Mod4+" CBS__M8 := "Mod8=Shift+Mod3+Mod4+" CBSComp := "Compose" CBTAcut := "Akut" CBTgrav := "Gravis" CBTcedi := "Cedille" CBTabdt := "Punkt darüber" CBTogon := "Ogonek" CBTcflx := "Zircumflex" CBTcron := "Hatschek" CBTbrve := "Breve" CBTbldt := "Punkt darunter" CBTtlde := "Tilde" CBTmcrn := "Makron" CBTdrss := "Trema" CBTdbac := "Doppelakut" CBTstrk := "Schrägstrich" CBU005E := "^" CBU0060 := "``" CBU00B4 := "´" CBCP1VK90SC145 := "Ntab"