From 24229c131a3b46ff68963809df00d50aac85d44d Mon Sep 17 00:00:00 2001 From: mösi Date: Fri, 13 Feb 2009 08:54:48 +0000 Subject: Wiemitneo, erster Versuch. Aufruf: oder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vor dem Aufruf muss man das zu suchende Zeichen im Clipboard haben, d.h. beispielsweise im Browser markiert und mit Strg+C ins Clipboard kopiert haben. Sollten sich mehrere Zeichen im Clipboard befinden, wird nur für das erste Zeichen die mögliche Belegung ausgegeben. Das bedeutet auch, dass für Multi-Zeichen-Compose-Sequenzen, die also mehrere Zeichen als Ergebnis einer Compose-Sequenz erzeugen, keine Hints angegeben werden. Die Funktion sucht in zweierlei Variablentabellen: Einerseits die Reverse-Compose Variablen, die mit CRC... beginnen, andererseits die Reverse-Key-Tabellen, die mit CRK... beginnen. Für die Ergebnisse der CRC-Suche werden die einzelnen Compose-Tastendrücke bislang _nicht_ weiter aufgeschlüsselt. Das Ergebnis wird jedenfalls in einem Tooltip angezeigt. Das ganze erfolgt mehrzeilig, sollte es mehrere Möglichkeiten zum Erzeugen des Zeichens geben. Für die Erzeugung der Reverse-Compose-Variablen muss die compose.generated.ahk-Datei auf quasi das Doppelte aufgeblasen werden, um eine iterative Suche zu vermeiden. Vielleicht fällt uns diesbezüglich ja noch etwas Besseres ein. git-svn-id: https://svn.neo-layout.org@1653 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/neo-vars/src/source/makecompose.ahk | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'windows/neo-vars/src/source/makecompose.ahk') diff --git a/windows/neo-vars/src/source/makecompose.ahk b/windows/neo-vars/src/source/makecompose.ahk index 5f96163..86edf68 100644 --- a/windows/neo-vars/src/source/makecompose.ahk +++ b/windows/neo-vars/src/source/makecompose.ahk @@ -1891,9 +1891,12 @@ EncodeUnicodeFile(FFrom,FTo) { break } } - if (modkeys != "") - Composita := Composita "CD" modkeys ":=""" EncodeUni(ReplaceRight) """`r`n" - else { + if (modkeys != "") { + ressymb := EncodeUni(ReplaceRight) + Composita .= "CD" . modkeys . ":=""" . ressymb . """`r`n" + if (StrLen(ressymb)==5) + Composita .= "CRC" . ressymb . ".="" " . modkeys . """`r`n" + } else { Composita := Composita "; illegal " Xkbsym " in " A_LoopField "`r`n" Miss := Miss + 1 } -- cgit v1.2.3