From 1841bb49e9637ece49ef42f7e5744eda5f900ba5 Mon Sep 17 00:00:00 2001 From: mösi Date: Sat, 1 Nov 2008 10:00:39 +0000 Subject: Die Ebenen-Logik ist endlich gefixt. Nocaps-Tasten interessieren sich nie für CapsLock (nur für Mod4-Lock), und Caps-Tasten interessieren sich im Mod3-Modus (Ebenen 3/5) und im Mod4-Modus (Ebenen 4/7) nicht für ein CapsLock. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1080 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/neo-vars/neo20-vars.ahk | 6 ++-- windows/neo-vars/recycle.ahk | 70 +++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 44 deletions(-) (limited to 'windows') diff --git a/windows/neo-vars/neo20-vars.ahk b/windows/neo-vars/neo20-vars.ahk index e56ce3f..9949f75 100644 --- a/windows/neo-vars/neo20-vars.ahk +++ b/windows/neo-vars/neo20-vars.ahk @@ -34,9 +34,9 @@ AllStar(This_HotKey) { IsDown := 1 ActKey := PhysKey ; das könnte später für eine Transformation benutzt werden if ((striktesMod2Lock == 0) && (NOC%ActKey% == 1)) { - Ebene := EbeneC - Ebene7 := Ebene7C - Ebene8 := Ebene8C + Ebene := EbeneNC + Ebene7 := Ebene7NC + Ebene8 := Ebene8NC } if (Ebene7 and (CP7%ActKey% != "")) Char := CP7%ActKey% diff --git a/windows/neo-vars/recycle.ahk b/windows/neo-vars/recycle.ahk index 81737e6..75d9e06 100644 --- a/windows/neo-vars/recycle.ahk +++ b/windows/neo-vars/recycle.ahk @@ -191,51 +191,39 @@ lernModus_neo_Entf := 1 EbeneAktualisieren() { global - Modstate := IsMod4Active() . IsMod3Active() . IsShiftActive() + Modstate := IsMod4Active() . IsMod3Active() Ebene7 := 0 Ebene8 := 0 - if (Modstate = "000") ; Ebene 1: Ohne Mod - Ebene := 1 - else if (Modstate = "001") ; Ebene 2: Shift - Ebene := 2 - else if (Modstate = "010") ; Ebene 3: Mod3 - Ebene := 3 - else if (Modstate = "100") ; Ebene 4: Mod4 + Ebene7NC := 0 + Ebene8NC := 0 + if (Modstate == "00") { ; Ebene 1 oder 2 + if (IsShiftActive()) ; Ebene 2: Shift oder CapsLock + Ebene := 2 + else ; Ebene 1: Ohne Mod oder CapsLock mit Shift + Ebene := 1 + if (IsShiftPressed) ; NC: Ebene 2: Shift (ignoriert CapsLock) + EbeneNC := 2 + else ; NC: Ebene 1: Ohne Mod (ignoriert CapsLock) + EbeneNC := 1 + } else if (Modstate == "01") { ; Ebene 3 oder 5 (ignoriert CapsLock) + if (IsShiftPressed) ; Ebene 5: Shift+Mod3 + Ebene := 5 + else ; Ebene 3: Mod3 + Ebene := 3 + EbeneNC := Ebene ; NC: gleich + } else if (Modstate == "10") { ; Ebene 4 (Mit Shift: Auch Ebene 7) (ignoriert CapsLock) Ebene := 4 - else if (Modstate = "011") ; Ebene 5: Shift+Mod3 - Ebene := 5 - else if (Modstate = "110") ; Ebene 6: Mod3+Mod4 + if (IsShiftPressed) ; Ebene 7: Shift+Mod4 + Ebene7 := 1 + EbeneNC := Ebene + Ebene7NC := Ebene7 + } else if (ModState == "11") { ; Ebene 6 (Mit Shift Xoder CapsLock: Auch Ebene 8) Ebene := 6 - else if (Modstate = "101") { ; Ebene 7: Shift+Mod4 impliziert Ebene 4 - Ebene := 4 - Ebene7 := 1 - } else if (Modstate = "111") { ; Ebene 8: Shift+Mod3+Mod4 impliziert Ebene 6 - Ebene := 6 - Ebene8 := 1 - } - - ; jetzt für Tasten, die Mod2Locked ignorieren - Modstate := IsMod4Active() . IsMod3Active() . IsShiftPressed - Ebene7C := 0 - Ebene8C := 0 - if (Modstate = "000") ; Ebene 1: Ohne Mod - EbeneC := 1 - else if (Modstate = "001") ; Ebene 2: Shift - EbeneC := 2 - else if (Modstate = "010") ; Ebene 3: Mod3 - EbeneC := 3 - else if (Modstate = "100") ; Ebene 4: Mod4 - EbeneC := 4 - else if (Modstate = "011") ; Ebene 5: Shift+Mod3 - EbeneC := 5 - else if (Modstate = "110") ; Ebene 6: Mod3+Mod4 - EbeneC := 6 - else if (Modstate = "101") { ; Ebene 7: Shift+Mod4 impliziert Ebene 4 - EbeneC := 4 - Ebene7C := 1 - } else if (Modstate = "111") { ; Ebene 8: Shift+Mod3+Mod4 impliziert Ebene 6 - EbeneC := 6 - Ebene8C := 1 + if (IsShiftActive()) ; Ebene 8: Shift Xoder CapsLock, nicht beides + Ebene8 := 1 + if (IsShiftPressed) ; NC: Ebene 8: Shift (ignoriert CapsLock) + Ebene8NC := 1 + EbeneNC := Ebene } } -- cgit v1.2.3