forked from neo/neo-layout
69 lines
1.9 KiB
AutoHotkey
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()
|
|
}
|