neo-layout/windows/neo-vars/src/levelfunctions.ahk

69 lines
1.9 KiB
AutoHotkey

; -*- encoding: utf-8 -*-
EbeneAktualisieren() {
global
Ebene7 := 0
Ebene8 := 0
ModPos := 1 + (isMod4Locked << 4) ; plus 1, da SubStr() bei 1 beginnt
+ (isMod4Pressed << 3)
+ (isMod3Pressed << 2)
+ (isMod2Locked << 1)
+ (isShiftPressed << 0)
; isMod4Locked 00000000000000001111111111111111
; isMod4Pressed 00000000111111110000000011111111
; isMod3Pressed 00001111000011110000111100001111
; isMod2Locked 00110011001100110011001100110011
; isShiftPressed 01010101010101010101010101010101
EbeneNC := SubStr("12123535444466664444353512126666",ModPos,1) ; Für normale Tasten (reagieren nicht auf CapsLock)
EbeneC := SubStr("12213535444466664444353512216666",ModPos,1) ; Für Buchstaben (reagieren auf CapsLock)
Ebene7 := SubStr("00000000010100000101000000000000",ModPos,1)
Ebene8 := SubStr("00000000000001010000000000000101",ModPos,1)
Check_BSTUpdate()
}
ToggleMod2Lock() {
global
if (Mod2LockOff)
return
if (isMod2Locked)
isMod2Locked := 0
else
isMod2Locked := 1
; LEDs
if (not (useMod4LightCaps and isMod4Locked)) {
NEOCapsLockLEDState := isMod2Locked ? "On" : "Off"
UpdateNEOLEDS()
}
}
ToggleMod4Lock() {
global
if (Mod4LockOff)
return
if (isMod4Locked) {
isMod4Locked := 0
if (zeigeLockBox)
TrayTip,Mod4-Feststellung,Die Feststellung wurde aufgehoben.,3,1
} else {
isMod4Locked := 1
if (zeigeLockBox)
TrayTip,Mod4-Feststellung,Um Mod4 wieder zu lösen`, drücke beide Mod4-Tasten gleichzeitig!,3,1
}
; LEDs
local LEDChange := 0
if (useMod4Light) {
NEOScrollLockLEDState := isMod4Locked ? "On" : "Off"
LEDChange := 1
}
if (useMod4LightCaps and not isMod2Locked) {
NEOCapsLockLEDState := isMod4Locked ? "On" : "Off"
LEDChange := 1
}
if (LEDChange)
UpdateNEOLEDS()
}