neo-layout/windows/ahk-auslaufend/Source/Keys-Special.ahk

179 lines
4.1 KiB
AutoHotkey

neo_punkt:
noCaps = 1
EbeneAktualisieren()
if (Ebene = 1)
OutputChar(".", "period")
else if (Ebene = 2)
SendUnicodeChar(0x2023, "") ; Dreieckiges Aufzählungszeichen
else if (Ebene = 3)
OutputChar("'", "apostrophe")
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
or CheckDeadUni("t4",0x2083)))
OutputChar("{Numpad3}", "KP_3")
else if (Ebene = 5)
SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta)
else if (Ebene = 6)
SendUnicodeChar(0x0398, "Greek_THETA") ; Theta
return
neo_komma:
noCaps = 1
EbeneAktualisieren()
if (Ebene = 1)
OutputChar(",", "comma")
else if (Ebene = 2)
OutputChar("", "enfilledcircbullet") ; Bullet
else if (Ebene = 3)
OutputChar(Chr(34), "quotedbl")
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
or CheckDeadUni("c5",0x2082)))
OutputChar("{Numpad2}", "KP_2")
else if (Ebene = 5)
SendUnicodeChar(0x03C1, "Greek_rho") ; rho
else if (Ebene = 6)
SendUnicodeChar(0x21D2, "implies") ; Doppelpfeil rechts
return
neo_strich:
noCaps = 1
EbeneAktualisieren()
if (Ebene = 1)
OutputChar("-", "minus") ; Bindestrich-Minus
else if (Ebene = 2)
SendUnicodeChar(0x2013, "endash") ; Gedankenstrich
else if (Ebene = 3)
SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich)
else if (Ebene = 5)
SendUnicodeChar(0x2011, "U2011") ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
else if (Ebene = 6)
SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich
return
*space::
if einHandNeo
spacepressed := 1
else goto neo_SpaceUp
return
*space up::
if einHandNeo
if keypressed {
keypressed := 0
spacepressed := 0
} else goto neo_SpaceUp
return
neo_SpaceUp:
EbeneAktualisieren()
if (Ebene = 1) and !CheckDeadUni("a3",0x2010) ; Echter Bindestrich
OutputChar("{Space}", "Space")
else if (Ebene = 2) or (Ebene = 3)
Send {blind}{Space}
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070)
or CheckDeadUni("a3",0x2080)))
OutputChar("{Numpad0}", "KP_0")
else if (Ebene = 5)
SendUnicodeChar(0x00A0, "U00A0") ; geschütztes Leerzeichen
else if (Ebene = 6)
SendUnicodeChar(0x202F, "U202F") ; schmales geschütztes Leerzeichen
DeadKey := ""
CompKey := ""
spacepressed := 0
keypressed := 0
return
*Enter::
EbeneAktualisieren()
if !lernModus or lernModus_std_Return {
if (Ebene = 4)
send {blind}{NumpadEnter}
else send {blind}{Enter}
DeadKey := ""
CompKey := ""
} return
*Backspace::
if !lernModus or lernModus_std_Backspace {
send {Blind}{Backspace}
DeadKey := ""
CompKey := ""
} return
*Del::
if !lernModus or lernModus_std_Entf
send {Blind}{Del}
return
*Ins::
if !lernModus or lernModus_std_Einf
send {Blind}{Ins}
return
neo_tab:
EbeneAktualisieren()
if IsMod3Pressed() { ; Compose!
DeadKey := "comp"
CompKey := ""
} else {
OutputChar("{Tab}", "Tab")
DeadKey := ""
CompKey := ""
} return
*Home::
if !lernModus or lernModus_std_Pos1 {
send {Blind}{Home}
DeadKey := ""
CompKey := ""
} return
*End::
if !lernModus or lernModus_std_Ende {
send {Blind}{End}
DeadKey := ""
CompKey := ""
} return
*PgUp::
if !lernModus or lernModus_std_PgUp {
send {Blind}{PgUp}
DeadKey := ""
CompKey := ""
} return
*PgDn::
if !lernModus or lernModus_std_PgDn {
send {Blind}{PgDn}
DeadKey := ""
CompKey := ""
} return
*Up::
if !lernModus or lernModus_std_Hoch {
send {Blind}{Up}
DeadKey := ""
CompKey := ""
} return
*Down::
if !lernModus or lernModus_std_Runter {
send {Blind}{Down}
DeadKey := ""
CompKey := ""
} return
*Left::
if !lernModus or lernModus_std_Links {
send {Blind}{Left}
DeadKey := ""
CompKey := ""
} return
*Right::
if !lernModus or lernModus_std_Rechts {
send {Blind}{Right}
DeadKey := ""
CompKey := ""
} return