From 9169579236814240421310a1c03f87cd8e8715e6 Mon Sep 17 00:00:00 2001 From: erik Date: Mon, 23 Apr 2007 14:20:58 +0000 Subject: wieder im auftrag von nora: autohotkey git-svn-id: https://svn.neo-layout.org@80 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/XP/autohotkey/README.txt | 19 +++-- windows/XP/autohotkey/neo20-remap.ahk | 126 +++++++++++++++++++++++++++----- windows/XP/autohotkey/neo20.ahk | 132 ++++++++++++++++++---------------- 3 files changed, 191 insertions(+), 86 deletions(-) diff --git a/windows/XP/autohotkey/README.txt b/windows/XP/autohotkey/README.txt index f4ea217..1015037 100644 --- a/windows/XP/autohotkey/README.txt +++ b/windows/XP/autohotkey/README.txt @@ -29,12 +29,19 @@ Das Umbelegen der Funktionstasten ist etwas http://www.autohotkey.com/forum/topic10169.html) und wurde deshalb in eine Extradatei ausgelagert (neo20-remap.ahk). Verwendung auf eigene Gefahr, einfach beide Skripte starten. -Problem: besonders auf der 6. Ebene kommt oft nur Control Down an, -aber nicht das Up, dann bleibt Control aktiv - Lösung ist dann, einmal die -normale Controltaste zu drücken. -Soll mehr als ein Buchstabe auf einer höheren Ebene geschrieben werden, -muss zwischendurch der Modifier losgelassen werden. +Problem: Auf der 5. und 6. Ebene kommt (bei Verwendung von AltGr) nur +Control Down an, aber nicht das Up, dann bleibt Control aktiv. +Lösung ist dann, einmal die normale Controltaste zu drücken. +Mod5 auf < hat das Problem nicht. Ohne die Remap-Datei kann die 5. Ebene mit Ctrl+Win erreicht werden -(6. entsprechend mit Ctrl-Win-Shift). \ No newline at end of file +(6. entsprechend mit Ctrl-Win-Shift). + +== To Do == +Dead Keys: Bislang funktionieren nur die Deadkeys, die auch im normalen deutschen Layout vorkommen. +Alle anderen können über Hotstrings definiert werden: + ::~a::ã +usw. + +Nummernblock \ No newline at end of file diff --git a/windows/XP/autohotkey/neo20-remap.ahk b/windows/XP/autohotkey/neo20-remap.ahk index 5b93522..104e192 100644 --- a/windows/XP/autohotkey/neo20-remap.ahk +++ b/windows/XP/autohotkey/neo20-remap.ahk @@ -3,43 +3,135 @@ dafür Mod5 auf AltGr und < */ -#singleinstance force +;#InstallKeybdHook #usehook on +#singleinstance force + +;SendMode InputThenPlay - geht nicht + +name = NEO-Remap +enable = Aktiviere %name% +disable = Deaktiviere %name% + +; Menü des Systray-Icons +; ---------------------- -name = Umbelegung AltGr und Mod5 +menu, tray, nostandard +menu, tray, add, Öffnen, open +menu, tray, add +menu, tray, add, %disable%, toggleneo +menu, tray, default, %disable% +menu, tray, add +menu, tray, add, Edit, edit +menu, tray, add, Reload, reload +menu, tray, add +menu, tray, add, Nicht im Systray anzeigen, hide +menu, tray, add, %name% beenden, exitprogram menu, tray, tip, %name% -; Für 3. und 4. Ebene: -; CapsLock und # (SC02B) werden zu AltGr (SC138): + +; 3. und 4. Ebene: +; CapsLock und # (SC02B) werden zu AltGr (SC138) +; ---------------------------------------------- +; http://www.autohotkey.com/forum/topic181.html *CapsLock:: -*SC02B:: Send {SC138 Down} +Loop +{ + Sleep, 10 + GetKeyState, state, CapsLock, P + if state = U ; The key has been released, so break out of the loop. + break +} +Send {SC138 Up} return -*CapsLock Up:: -*SC02B Up:: + +*SC02B:: +Send {SC138 Down} +Loop +{ + Sleep, 10 + GetKeyState, state, SC02B, P + if state = U ; The key has been released, so break out of the loop. + break +} Send {SC138 Up} return -; Für 5. und 6. Ebene: -; < (SC056) und AltGr werden zu Win + Ctrl: -;Code funktioniert noch nicht so ganz, manchmal kommt nur Control Down an, aber nicht das Up, dann bleibt Control aktiv - Lösung ist dann, einmal die normale Controltaste zu drücken -; Was sonst noch helfen kann: -; Nach dem Drücken des Modifiers einen kleinen Moment warten -; Soll mehr als ein Buchstabe auf der 5.\6. Ebene geschrieben werden, zwischendurch den Modifier loslassen +; 5. und 6. Ebene: +; < (SC056) und AltGr werden zu Win + Ctrl +; -------------------------------------------- + ; < funktioniert, aber bei AltGr kommt (manchmal/immer?) nur + ; Control Down an, aber nicht das Up, dann bleibt Control aktiv + ; - Lösung ist dann, einmal die normale Controltaste zu drücken. + *SC056:: -*SC138:: Send {RWin Down} Send {Control Down} +Loop +{ + Sleep, 10 + GetKeyState, state, SC056, P + if state = U ; The key has been released, so break out of the loop. + break +} +Send {RWin Up} +Send {Control Up} return -*SC056 Up:: -*SC138 Up:: -Send {Control Up} + +*SC138:: +Send {RWin Down} +Send {Control Down} +Loop +{ + Sleep, 10 + GetKeyState, state, SC138, P + if state = U ; The key has been released, so break out of the loop. + break +} Send {RWin Up} +Send {Control Up} +return + + +;----------------------------------------------- + +toggleneo: + if state <> + { + state = + menu, tray, rename, %enable%, %disable% + } + else + { + state = : Deaktiviert + menu, tray, rename, %disable%, %enable% + } + menu, tray, tip, %name%%state% + suspend return +open: + ListLines ; shows the Autohotkey window +return + +edit: + edit +return + +reload: + reload +return + +hide: + menu, tray, noicon +return +exitprogram: + exitapp +return diff --git a/windows/XP/autohotkey/neo20.ahk b/windows/XP/autohotkey/neo20.ahk index 527edd1..66a6d89 100644 --- a/windows/XP/autohotkey/neo20.ahk +++ b/windows/XP/autohotkey/neo20.ahk @@ -1,35 +1,51 @@ /* NEO-Layout - nach NoAdmin-Svorak von Simon Griph, 2004 - 3./4. Ebene funktioniert nur über AltGr, nicht über CapsLock - 5./6. Ebene noch gar nicht + nach NoAdmin-Svorak von Simon Griph, 2004 + 3./4. Ebene funktioniert über AltGr, + 5./6. Ebene über Win+Ctrl + Zur Umbelegung auf CapsLock und AltGr + verwende neo20-remap.ahk */ -#InstallKeybdHook -;#notrayicon +;#InstallKeybdHook +#usehook on #singleinstance force -#hotkeyinterval 1024 -#maxhotkeysperinterval 64 -#Hotstring C * ? -;setstorecapslockmode, off - +#LTrim + ; Quelltext kann eingerückt werden, msgbox ist trotzdem linksbündig + +SendMode InputThenPlay + name = NEO-Layout 2.0 -enable = Aktiviere NEO -disable = Deaktiviere NEO +enable = Aktiviere %name% +disable = Deaktiviere %name% ; Überprüfung auf deutsches Tastaturlayout ; ---------------------------------------- regread, inputlocale, HKEY_CURRENT_USER, Keyboard Layout\Preload, 1 -regread, inputlocalealias, HKEY_CURRENT_USER, Keyboard Layout\Substitutes, %inputlocale% +regread, inputlocalealias, HKEY_CURRENT_USER + , Keyboard Layout\Substitutes, %inputlocale% if inputlocalealias <> inputlocale = %inputlocalealias% if inputlocale <> 00000407 { suspend - regread, inputlocale, HKEY_LOCAL_MACHINE, SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%, Layout Text - msgbox, 48, Warning!, Incompatible keybord layout: `n`n "inputlocale" `n`nGerman QWERTZ has to be the standardlayout for `n%name% works as expected. `n`nChange the standard layout under control panel `n-> Local and language settings `n-> Language -> Information... `n + regread, inputlocale, HKEY_LOCAL_MACHINE + , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale% + , Layout Text + msgbox, 48, Warnung!, + ( + Nicht kompatibles Tastaturlayout: + `t%inputlocale% + `nDas deutsche QWERTZ muss als Standardlayout eingestellt + sein, damit %name% wie erwartet funktioniert. + `nÄndere die Tastatureinstellung unter + `tSystemsteuerung + `t-> Regions- und Sprachoptionen + `t-> Sprachen + `t-> Details... `n + ) exitapp } @@ -58,9 +74,6 @@ menu, tray, tip, %name% -#usehook on - - ;1. Ebene ;--------- @@ -218,7 +231,7 @@ return <^>!w::send _ <^>!e::send [ <^>!r::send ] -<^>!t::send {^} ; tot, soll der untot sein? +<^>!t::send {^} ; tot, soll untot sein <^>!z::sendraw ! <^>!u::send < <^>!i::send > @@ -249,11 +262,11 @@ return <^>!ä::send y -<^>!y::sendraw ~ +<^>!y::sendraw ~ <^>!x::send $ <^>!c::send | <^>!v::send {#} -<^>!b::send `` ; tot, soll der untot sein? +<^>!b::send `` ; tot, soll untot sein <^>!n::send {+} <^>!m::send `% <^>!SC033::send {&} @@ -592,11 +605,10 @@ Gosub Unicode return -/* + ;Strg/Ctrl ;--------- -;^SC029::send ^^ ; ^1::send ^1 ^2::send ^2 ^3::send ^3 @@ -607,8 +619,8 @@ return ^8::send ^8 ^9::send ^9 ^0::send ^0 -^ß::send ^- -;^SC00D::send ^´ ; + + ^q::send ^x ^w::send ^v @@ -621,7 +633,6 @@ return ^o::send ^f ^p::send ^q ^ü::send ^ß -;^SC01B::send ^~ ; ^a::send ^u ^s::send ^i @@ -634,7 +645,7 @@ return ^l::send ^t ^ö::send ^d ^ä::send ^y -;SC02B (#) wird zu AltGr + ^y::send ^ö ^x::send ^ü @@ -643,15 +654,12 @@ return ^b::send ^z ^n::send ^b ^m::send ^m -^SC033::send ^, -^SC034::send ^. ^SC035::send ^j ;Alt-Ebene ;--------- -