From d5c4a4f822f4c309eb057138f62ac3d1d7ec9efe Mon Sep 17 00:00:00 2001 From: mösi Date: Thu, 2 Jul 2009 10:45:44 +0000 Subject: Der Zahlenblock (Numpad) ist jetzt immer im NumLock=ON-State. Da die Tastatur oder der Treiber hier aber ein paar merkwürdige Zusatzoperationen ausführen wie geänderte Scan-Codes bei Drücken von Shift, aber das Shift vorher virtuell loslassen, muss ein wenig getrickst werden. DOSHxxxxxxx := 1 erzwingt für besondere Zeichen wie z.b. S_SN_Le (Shift+Numpad-Left) das explizite, vorherige Drücken der Shift-Taste. Damit sollte auch Ebene 4 inklusive Markierungen mit Shift und Strg wie gewohnt laufen. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1903 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/neo-vars/src/source/initialize.ahk | 2 +- windows/neo-vars/src/source/keydefinitions.ahk | 51 ++++++++++++++++++++------ windows/neo-vars/src/source/shortcuts.ahk | 24 ++++++++++++ windows/neo-vars/src/source/varsfunctions.ahk | 11 ++++++ 4 files changed, 76 insertions(+), 12 deletions(-) (limited to 'windows') diff --git a/windows/neo-vars/src/source/initialize.ahk b/windows/neo-vars/src/source/initialize.ahk index f69580b..ee01fac 100644 --- a/windows/neo-vars/src/source/initialize.ahk +++ b/windows/neo-vars/src/source/initialize.ahk @@ -35,7 +35,7 @@ disable=Deaktiviere %name% SetCapsLockState Off SaveNumLockState() -SetNumLockState Off +SetNumLockState On OnExit, exitprogram SetScrollLockState Off KeyboardLED(2,"off") ; deaktivieren, falls sie doch brennt diff --git a/windows/neo-vars/src/source/keydefinitions.ahk b/windows/neo-vars/src/source/keydefinitions.ahk index a339e1f..10a4eff 100644 --- a/windows/neo-vars/src/source/keydefinitions.ahk +++ b/windows/neo-vars/src/source/keydefinitions.ahk @@ -60,20 +60,49 @@ ED("VK6ASC037",0,"S__NMul","S__NMul","U0022C5","U0000D7","U002299","U002297") ; ED("VK6DSC04A",0,"S__NSub","S__NSub","U002212","U002216","U002296","U002238") ; NumpadSub ED("VK6BSC04E",0,"S__NAdd","S__NAdd","U0000B1","U002213","U002295","U002214") ; NumpadAdd -EDN("VK67SC047","VK24SC047",0,"S__N__7","U002714","U002195","S__NHom","U00226A","U002308") ; Numpad7, NumpadHome -EDN("VK68SC048","VK26SC048",0,"S__N__8","U002718","U002191","S__N_Up","U002229","U0022C2") ; Numpad8, NumpadUp -EDN("VK69SC049","VK21SC049",0,"S__N__9","U002020","U0020D7","S__NPUp","U00226B","U002309") ; Numpad9, NumpadPgUp +;EDN("VK67SC047","VK24SC047",0,"S__N__7","U002714","U002195","S__NHom","U00226A","U002308") ; Numpad7, NumpadHome +ED("VK67SC047",0,"S__N__7","" ,"U002195","S__NHom","" ,"U002308") ; Numpad7 +ED("VK24SC047",0,"U002714","" ,"U00226A","S_SNHom","" ,"" ) ; NumpadHome == Numpad7 + Shift -EDN("VK64SC04B","VK25SC04B",0,"S__N__4","U002663","U002190","S__N_Le","U002282","U002286") ; Numpad4, NumpadLeft -EDN("VK65SC04C","VK0CSC04C",0,"S__N__5","U0020AC","U0000A6","S__NClr","U0022B6","U0022B7") ; Numpad5, NumpadClear -EDN("VK66SC04D","VK27SC04D",0,"S__N__6","U002023","U002192","S__N_Ri","U002283","U002287") ; Numpad6, NumpadRight +;EDN("VK68SC048","VK26SC048",0,"S__N__8","U002718","U002191","S__N_Up","U002229","U0022C2") ; Numpad8, NumpadUp +ED("VK68SC048",0,"S__N__8","" ,"U002191","S__N_Up","" ,"U0022C2") ; Numpad8 +ED("VK26SC048",0,"U002718","" ,"U002229","S_SN_Up","" ,"" ) ; NumpadUp == Numpad8 + Shift -EDN("VK61SC04F","VK23SC04F",0,"S__N__1","U002666","U002194","S__NEnd","U002264","U00230A") ; Numpad1, NumpadEnd -EDN("VK62SC050","VK28SC050",0,"S__N__2","U002665","U002193","S__N_Dn","U00222A","U0022C3") ; Numpad2, NumpadDown -EDN("VK63SC051","VK22SC051",0,"S__N__3","U002660","U0021CC","S__NPDn","U002265","U00230B") ; Numpad3, NumpadPgDn +;EDN("VK69SC049","VK21SC049",0,"S__N__9","U002020","U0020D7","S__NPUp","U00226B","U002309") ; Numpad9, NumpadPgUp +ED("VK69SC049",0,"S__N__9","" ,"U0020D7","S__NPUp","" ,"U002309") ; Numpad9 +ED("VK21SC049",0,"U002020","" ,"U00226B","S_SNPUp","" ,"" ) ; NumpadPgUp == Numpad9 + Shift -EDN("VK60SC052","VK2DSC052",0,"S__N__0","U002423","U000025","S__NIns","U002030","U0025A1") ; Numpad0, NumpadIns -EDN("VK6ESC053","VK2ESC053",0,"S__NDot","U00002E","U00002C","S__NDel","U002032","U002033") ; NumpadDot, NumpadDel +;EDN("VK64SC04B","VK25SC04B",0,"S__N__4","U002663","U002190","S__N_Le","U002282","U002286") ; Numpad4, NumpadLeft +ED("VK64SC04B",0,"S__N__4","" ,"U002190","S__N_Le","" ,"U002286") ; Numpad4 +ED("VK25SC04B",0,"U002663","" ,"U002282","S_SN_Le","" ,"" ) ; NumpadLeft == Numpad4 + Shift + +;EDN("VK65SC04C","VK0CSC04C",0,"S__N__5","U0020AC","U0000A6","S__NClr","U0022B6","U0022B7") ; Numpad5, NumpadClear +ED("VK65SC04C",0,"S__N__5","" ,"U0000A6","S__NClr","" ,"U0022B7") ; Numpad5 +ED("VK0CSC04C",0,"U0020AC","" ,"U0022B6","S_SNClr","" ,"" ) ; NumpadClear == Numpad5 + Shift + +;EDN("VK66SC04D","VK27SC04D",0,"S__N__6","U002023","U002192","S__N_Ri","U002283","U002287") ; Numpad6, NumpadRight +ED("VK66SC04D",0,"S__N__6","" ,"U002192","S__N_Ri","" ,"U002287") ; Numpad6 +ED("VK27SC04D",0,"U002023","" ,"U002283","S_SN_Ri","" ,"" ) ; NumpadRight == Numpad6 + Shift + +;EDN("VK61SC04F","VK23SC04F",0,"S__N__1","U002666","U002194","S__NEnd","U002264","U00230A") ; Numpad1, NumpadEnd +ED("VK61SC04F",0,"S__N__1","" ,"U002194","S__NEnd","" ,"U00230A") ; Numpad1 +ED("VK23SC04F",0,"U002666","" ,"U002264","S_SNEnd","" ,"" ) ; NumpadEnd == Numpad1 + Shift + +;EDN("VK62SC050","VK28SC050",0,"S__N__2","U002665","U002193","S__N_Dn","U00222A","U0022C3") ; Numpad2, NumpadDown +ED("VK62SC050",0,"S__N__2","" ,"U002193","S__N_Dn","" ,"U0022C3") ; Numpad2 +ED("VK28SC050",0,"U002665","" ,"U00222A","S_SN_Dn","" ,"" ) ; NumpadDown == Numpad2 + Shift + +;EDN("VK63SC051","VK22SC051",0,"S__N__3","U002660","U0021CC","S__NPDn","U002265","U00230B") ; Numpad3, NumpadPgDn +ED("VK63SC051",0,"S__N__3","" ,"U0021CC","S__NPDn","" ,"U00230B") ; Numpad3 +ED("VK22SC051",0,"U002660","" ,"U002265","S_SNPDn","" ,"" ) ; NumpadPgDn == Numpad3 + Shift + +; EDN("VK60SC052","VK2DSC052",0,"S__N__0","U002423","U000025","S__NIns","U002030","U0025A1") ; Numpad0, NumpadIns +ED("VK60SC052",0,"S__N__0","" ,"U000025","S__NIns","" ,"U0025A1") ; Numpad0 +ED("VK2DSC052",0,"U002423","" ,"U002030","S_SNIns","" ,"" ) ; NumpadIns == Numpad0 + Shift + +; EDN("VK6ESC053","VK2ESC053",0,"S__NDot","U00002E","U00002C","S__NDel","U002032","U002033") ; NumpadDot, NumpadDel +ED("VK6ESC053",0,"S__NDot","" ,"U00002C","S__NDel","" ,"U002033") ; NumpadDot +ED("VK2ESC053",0,"U00002E","" ,"U002032","S_SNDel","" ,"" ) ; NumpadDel == NumpadDot + Shift ; other keys ED("space",0,"U000020","U000020","U000020","S__N__0","U0000A0","U00202F") diff --git a/windows/neo-vars/src/source/shortcuts.ahk b/windows/neo-vars/src/source/shortcuts.ahk index d158cc4..1fb1a4c 100644 --- a/windows/neo-vars/src/source/shortcuts.ahk +++ b/windows/neo-vars/src/source/shortcuts.ahk @@ -95,6 +95,30 @@ CSS__NHom := "NumpadHome" CSS__NEnd := "NumpadEnd" CSS__NClr := "NumpadClear" +; Numpad Navigation + Shift +CSS_SNDel := "NumpadDel" +CSS_SNIns := "NumpadIns" +CSS_SN_Up := "NumpadUp" +CSS_SN_Dn := "NumpadDown" +CSS_SN_Ri := "NumpadRight" +CSS_SN_Le := "NumpadLeft" +CSS_SNPUp := "NumpadPgUp" +CSS_SNPDn := "NumpadPgDn" +CSS_SNHom := "NumpadHome" +CSS_SNEnd := "NumpadEnd" +CSS_SNClr := "NumpadClear" +DOSHS_SNDel := 1 +DOSHS_SNIns := 1 +DOSHS_SN_Up := 1 +DOSHS_SN_Dn := 1 +DOSHS_SN_Ri := 1 +DOSHS_SN_Le := 1 +DOSHS_SNPUp := 1 +DOSHS_SNPDn := 1 +DOSHS_SNHom := 1 +DOSHS_SNEnd := 1 +DOSHS_SNClr := 1 + CSS__L_M2 := "LShift" CSS__R_M2 := "RShift" diff --git a/windows/neo-vars/src/source/varsfunctions.ahk b/windows/neo-vars/src/source/varsfunctions.ahk index 079dadc..8fae92b 100644 --- a/windows/neo-vars/src/source/varsfunctions.ahk +++ b/windows/neo-vars/src/source/varsfunctions.ahk @@ -200,6 +200,17 @@ SendBlindShiftFixed(char, theseq) { send % "{blind}{RShift Up}" . theseq . "{RShift Down}" else send % "{blind}" . theseq + else if (DOSH%char%) + if (IsShiftLPressed) + if (IsShiftRPressed) + send % "{blind}" . theseq + else + send % "{blind}{RShift Down}" . theseq . "{RShift Up}" + else + if (IsShiftRPressed) + send % "{blind}{Shift Down}" . theseq . "{Shift Up}" + else + send % "{blind}{Shift Down}" . theseq . "{Shift Up}" else send % "{blind}" . theseq } -- cgit v1.2.3