Browse Source

Unnötige kbdneo2.ahk aus dem falschen Ordner entfernt

feature/programmer
qwertfisch 1 year ago
parent
commit
c0ebab90bf
  1. 561
      windows/kbdneo2/AHK-supplement/qwertz/kbdneo2.ahk

561
windows/kbdneo2/AHK-supplement/qwertz/kbdneo2.ahk

@ -1,561 +0,0 @@
;*********************
; Anfangsbedingungen *
;*********************
name=Neo 2.0 (Erweiterung für nativen Treiber)
enable=Aktiviere %name%
disable=Deaktiviere %name%
#usehook on
SetKeyDelay -1
#LTrim
; *** Benutze Bilder, wenn sie im aktuellen Verzeichnis vorhanden sind ***
FileInstall,neo_enabled.ico,neo_enabled.ico,1
FileInstall,neo_disabled.ico,neo_disabled.ico,1
FileInstall,ebene1.png,ebene1.png,1
FileInstall,ebene2.png,ebene2.png,1
FileInstall,ebene3.png,ebene3.png,1
FileInstall,ebene4.png,ebene4.png,1
FileInstall,ebene5.png,ebene5.png,1
FileInstall,ebene6.png,ebene6.png,1
if (FileExist("ebene1.png")&&FileExist("ebene2.png")&&FileExist("ebene3.png")&&FileExist("ebene4.png")&&FileExist("ebene5.png")&&FileExist("ebene6.png"))
zeigeBildschirmTastatur = 1
if (FileExist("neo_enabled.ico")&&FileExist("neo_disabled.ico"))
iconBenutzen=1
;*************************
; Menü des Systray-Icons *
;*************************
if (iconBenutzen)
menu,tray,icon,neo_enabled.ico,,1
menu,tray,nostandard
menu,tray,add,AHK öffnen,open
menu,helpmenu,add,Info,about
menu,helpmenu,add
menu,helpmenu,add,http://autohotkey.com/,autohotkey
menu,helpmenu,add,http://www.neo-layout.org/,neo
menu,tray,add,Hilfe,:helpmenu
menu,tray,add
menu,tray,add,%disable%,togglesuspend
menu,tray,add
menu,tray,add,Skript bearbeiten,edit
menu,tray,add,Skript neu laden,reload
menu,tray,add,Bildschirmtastatur umschalten,Show
menu,tray,add
menu,tray,add,Nicht im Systray anzeigen,hide
menu,tray,add,%name% beenden,exitprogram
menu,tray,default,%disable%
menu,tray,tip,%name%
;******************
; Initialisierung *
;******************
isShiftRPressed := 0
isShiftLPressed := 0
isShiftPressed := 0
isMod2Locked := 0
isMod3RPressed := 0
isMod3LPressed := 0
isMod3Pressed := 0
isMod4RPressed := 0
isMod4LPressed := 0
isMod4Pressed := 0
isMod4Locked := 0
isMod4Active := 0
Ebene := 1
goto mapkeys
;***********************
; Fehlende Funktionen *
;***********************
; *** benötigte Modifier werden gehookt ***
~*SC136::
if (isShiftLPressed and !isShiftRPressed)
ToggleMod2Lock()
isShiftRPressed := 1
isShiftPressed := 1
goto modeToggled
return
~*SC136 up::
isShiftRPressed := 0
isShiftPressed := isShiftLPressed
goto modeToggled
return
~*SC02A::
if (isShiftRPressed and !isShiftLPressed)
ToggleMod2Lock()
isShiftLPressed := 1
isShiftPressed := 1
goto modeToggled
return
~*SC02A up::
isShiftLPressed := 0
isShiftPressed := isShiftRPressed
goto modeToggled
return
~*SC02B::
isMod3RPressed := 1
isMod3Pressed := 1
goto modeToggled
return
~*SC02B up::
isMod3RPressed := 0
isMod3Pressed := isMod3LPressed
goto modeToggled
return
~*SC03A::
isMod3LPressed := 1
isMod3Pressed := 1
goto modeToggled
return
~*SC03A up::
isMod3LPressed := 0
isMod3Pressed := isMod3RPressed
goto modeToggled
return
~*SC138::
if (isMod4LPressed and !isMod4RPressed)
ToggleMod4Lock()
isMod4RPressed := 1
isMod4Pressed := 1
doMod4()
goto modeToggled
return
~*SC138 up::
isMod4RPressed := 0
isMod4Pressed := isMod4LPressed
doMod4()
goto modeToggled
return
~*SC056::
if (isMod4RPressed and !isMod4LPressed)
ToggleMod4Lock()
isMod4LPressed := 1
isMod4Pressed := 1
doMod4()
goto modeToggled
return
~*SC056 up::
isMod4LPressed := 0
isMod4Pressed := isMod4RPressed
doMod4()
goto modeToggled
return
; *** Welcher Modifier ist aktiv und CapsLock und Mod4Lock ***
ToggleMod2Lock() {
global
if (isMod2Locked)
{
isMod2Locked := 0
SetCapslockState off
}
else
{
isMod2Locked := 1
SetCapslockState on
}
}
ToggleMod4Lock() {
global
if (isMod4Locked)
{
isMod4Locked := 0
send {vk15}
}
else
{
isMod4Locked := 1
send {vk15}
}
}
doMod4() {
global
if (isMod4Locked)
{
if (isMod4Pressed)
isMod4Active := 0
else
isMod4Active := 1
}
else
{
if (isMod4Pressed)
isMod4Active := 1
else
isMod4Active := 0
}
}
; Special Mapping only for z
*z::
if (isMod4Active and !isMod3Pressed) {
if (key_z_down){
Send {Blind}{z up}
key_z_down := 0
}
Send {Blind}{Ctrl DownTemp}{z DownTemp}
key_z_down_mod := 1
} else {
if (key_z_down_mod){
Send {Blind}{Ctrl Up}{z Up}
key_z_down_mod := 0
}
Send {Blind}{z DownTemp}
key_z_down := 1
}
return
*z up::
if (key_z_down_mod){
Send {Blind}{Ctrl Up}{z Up}
key_z_down_mod := 0
}
if (key_z_down){
Send {Blind}{z up}
key_z_down := 0
}
return
; *** Mappings ***
mapkeys:
OneLayer("x", 4, "pgup")
OneLayer("v", 4, "backspace")
OneLayer("l", 4, "up")
OneLayer("c", 4, "del")
OneLayer("w", 4, "pgdn")
OneLayer("u", 4, "home")
OneLayer("i", 4, "left")
OneLayer("a", 4, "down")
OneLayer("e", 4, "right")
OneLayer("o", 4, "end")
OneLayer("ü", 4, "esc")
OneLayer("ö", 4, "tab")
OneLayer("ä", 4, "ins")
OneLayer("p", 4, "enter")
AllLayers("NumLock","tab","tab","=","≠","≈","≡") ; NumLock
AllLayers("NumpadDiv","NumpadDiv","NumpadDiv","÷","⁄","⌀","⁄") ; NumpadDiv
AllLayers("NumpadMult","NumpadMult","NumpadMult","⋅","×","⊙","⊗") ; NumpadMult
AllLayers("NumpadSub","NumpadSub","NumpadSub","−","∖","⊖","∸") ; NumpadSub
AllLayers("NumpadAdd","NumpadAdd","NumpadAdd","±","∓","⊕","∔") ; NumpadAdd
AllLayers("Numpad7","Numpad7","✔","↕","NumpadHome","≪","⌈") ; Numpad7
AllLayers("Numpad8","Numpad8","✘","↑","NumpadUp","∩","⋂") ; Numpad8
AllLayers("Numpad9","Numpad9","†","⃗","NumpadPgUp","≫","⌉") ; Numpad9
AllLayers("Numpad4","Numpad4","♣","←","NumpadLeft","⊂","⊆") ; Numpad4
AllLayers("Numpad5","Numpad5","€",":","LButton","⊶","⊷") ; Numpad5
AllLayers("Numpad6","Numpad6","‣","→","NumpadRight","⊃","⊇") ; Numpad6
AllLayers("Numpad1","Numpad1","♦","↔","NumpadEnd","≤","⌊") ; Numpad1
AllLayers("Numpad2","Numpad2","♥","↓","NumpadDown","∪","⋃") ; Numpad2
AllLayers("Numpad3","Numpad3","♠","⇌","NumpadPgDn","≥","⌋") ; Numpad3
AllLayers("Numpad0","Numpad0","␣","%","NumpadIns","‰","□") ; Numpad0
AllLayers("NumpadDot","NumpadDot",".",",","NumpadDel","′","″") ; NumpadDot
RemapKey("NumpadIns", "Numpad0")
RemapKey("NumpadEnd", "Numpad1")
RemapKey("NumpadDown", "Numpad2")
RemapKey("NumpadPgDn", "Numpad3")
RemapKey("NumpadLeft", "Numpad4")
RemapKey("NumpadClear", "Numpad5")
RemapKey("NumpadRight", "Numpad6")
RemapKey("NumpadHome", "Numpad7")
RemapKey("NumpadUp", "Numpad8")
RemapKey("NumpadPgUp", "Numpad9")
RemapKey("NumpadDel", "NumpadDot")
return
HookKey(key){
dnkey := "*" . key
upkey := dnkey . " up"
Hotkey,% dnkey,allstarhook
Hotkey,% upkey,allstarhook
}
OneLayer(key, layer, target){
global
HookKey(key)
CMCP%layer%%key% := target
}
AllLayers(key, e1, e2, e3, e4, e5, e6){
global
HookKey(key)
CMCP1%key% := e1
CMCP2%key% := e2
CMCP3%key% := e3
CMCP4%key% := e4
CMCP5%key% := e5
CMCP6%key% := e6
}
RemapKey(key, target){
global
HookKey(key)
KRM%key% := target
}
modeToggled:
if ((isMod3Pressed) && (isMod4Pressed || isMod4Locked)) {
Ebene := 6
} else if ((isMod3Pressed) && (isShiftPressed || isMod2Locked)) {
Ebene := 5
} else if (isMod4Active) {
Ebene := 4
} else if (isMod3Pressed) {
Ebene := 3
} else if (isShiftPressed || isMod2Locked) {
Ebene := 2
} else {
Ebene := 1
}
goto guiModeToggled
return
allstarhook:
AllStar(a_thishotkey)
return
AllStar(This_HotKey) {
global
PhysKey := This_HotKey
if (SubStr(PhysKey,1,1) == "*")
PhysKey := SubStr(PhysKey,2)
if (SubStr(PhysKey,-2) == " up") {
PhysKey := SubStr(PhysKey,1,StrLen(PhysKey)-3)
IsDown := 0
} else
IsDown := 1
RealEbene := Ebene
if (KRM%PhysKey% != ""){
PhysKey := KRM%PhysKey%
if (isMod3Pressed) {
RealEbene := 5
} else {
RealEbene := 2
}
}
Char = CP%RealEbene%%PhysKey%
if (IsDown == 1) {
CharStarDown(PhysKey, Char)
;MsgBox % This_HotKey . " -> " . PhysKey . " -> " . Char . " ---> " . "%CM" . Char . ": " . CM%Char%
} else {
CharStarUp(PhysKey)
}
}
CharStarDown(PhysKey, Char) {
global
if (CM%Char% != "") {
tosend := CM%Char%
} else {
tosend := PhysKey
}
if (PR%PhysKey% != "" && PR%PhysKey% != tosend){
CharOutUp(PR%PhysKey%)
}
CharOutDown(tosend)
PR%PhysKey% := tosend
}
CharStarUp(PhysKey) {
global
if (PR%PhysKey% != "") {
tosend := PR%PhysKey%
PR%PhysKey% := ""
CharOutUp(tosend)
}
}
CharOutDown(char){
send % "{blind}{" . char . " DownTemp}"
}
CharOutUp(char){
send % "{blind}{" . char . " Up}"
}
;*****************
; Menüfunktionen *
;*****************
togglesuspend:
if A_IsSuspended {
menu,tray,rename,%enable%,%disable%
menu,tray,tip,%name%
if (iconBenutzen)
menu,tray,icon,neo_enabled.ico,,1
suspend,off ; Schaltet Suspend aus
} else {
menu,tray,rename,%disable%, %enable%
menu,tray,tip,%name% : Deaktiviert
if (iconBenutzen)
menu,tray,icon,neo_disabled.ico,,1
suspend,on ; Schaltet Suspend ein
} return
about:
msgbox, 64, NEO 2.0 – Ergonomische Tastaturbelegung,
(
%name%
`nDas Neo-Layout ist ein alternatives deutsches Tastaturlayout
Näheres finden Sie unter http://neo-layout.org/.
`nDieses Skript erweitert den nativen Tastaturtreiber um
einige fehlende Funktionen.
`nEs beinhaltet außerdem eine Bildschirmtastatur, die mit
Shift+Mod4+Tab geöffnet und geschlossen werden kann.
)
return
neo:
run http://neo-layout.org/
return
autohotkey:
run http://autohotkey.com/
return
open:
ListLines ; shows the Autohotkey window
return
edit:
edit
return
reload:
Reload
return
hide:
menu, tray, noicon
return
exitprogram:
exitapp
return
;*********************
; BildschirmTastatur *
;*********************
guiErstellt = 0
showingShift = 0
showShiftTimer = 0
showShift:
showingShift = 1
showShiftTimer = 0
goto modeToggled
return
guiModeToggled:
; This shift logic delays the display of layer 2,
; so the keyboard doesn’t constantly flash during
; normal typing
if (isShiftPressed && !showingShift && !showShiftTimer){
SetTimer, showShift, -300
showShiftTimer = 1
} else if (!isShiftPressed){
SetTimer, showShift, Off
showShiftTimer = 0
showingShift = 0
}
if (guiErstellt) {
guiEbene := Ebene
if (guiEbene = 2 && !showingShift)
guiEbene = 1
goto UpdateImage
}
return
*F7::
if (isMod4Pressed && zeigeBildschirmTastatur)
goto Show
else send {blind}{F7}
return
Show:
if guiErstellt {
goto Close
} else {
if (Image = "") {
Image := "ebene1.png"
}
yPosition := A_ScreenHeight -270
Gui,Color,FFFFFF
Gui,Add,Picture, AltSubmit BackgroundTrans xm ym hwndHPIC vPicture,%Image% ;
Gui,+AlwaysOnTop
Gui +LastFound
WinSet, TransColor, FFFFFF
Gui -Caption +ToolWindow
Gui,Show,NA y%yposition% Autosize
OnMessage(0x201, "WM_LBUTTONDOWN")
OnMessage(0x203, "WM_LBUTTONDBLCLK")
GuiControlGet, P, Pos, Picture
loop, 6 {
HBITMAP%A_Index% := LoadImage("ebene" . A_Index . ".png", PW, PH)
}
guiErstellt = 1
}
Return
LoadImage(ImagePath, W, H) {
; Each GUI window may have up to 11,000 controls. However, use caution when creating more
; than 5000 controls because system instability may occur for certain control types.
Gui, 99:Add, Pic, w%W% h%H% AltSubmit hwndHPIC, %ImagePath%
SendMessage, 0x0173, 0, 0, , ahk_id %HPIC% ; STM_GETIMAGE
Return ErrorLevel
}
UpdateImage:
if (guiEbeneShown != guiEbene){
SendMessage, 0x0172, 0, HBITMAP%guiEbene%, , ahk_id %HPIC% ; STM_SETIMAGE
DeleteObject(ErrorLevel)
guiEbeneShown := guiEbene
}
Return
DeleteObject(hObject) {
return DllCall("DeleteObject", "uint", hObject)
}
WM_LBUTTONDOWN() {
PostMessage, 0xA1, 2
}
WM_LBUTTONDBLCLK() {
SetTimer, Close, -1
}
Close:
guiErstellt = 0
Gui,Destroy
Gui, 99:Destroy
Return
Loading…
Cancel
Save