diff options
author | mösi <mösi@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2009-02-13 08:54:48 +0000 |
---|---|---|
committer | mösi <mösi@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2009-02-13 08:54:48 +0000 |
commit | 24229c131a3b46ff68963809df00d50aac85d44d (patch) | |
tree | 4b5aee9c86015b0e0b3a29e5b5467a89449163ce /windows/neo-vars/src/source/makecompose.ahk | |
parent | f5440da7a1c3dfc69ca9f77214b3759934849942 (diff) |
Wiemitneo, erster Versuch.
Aufruf: <Compose> <u> <w> oder <Compose> <U> <W>
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
Diffstat (limited to '')
-rw-r--r-- | windows/neo-vars/src/source/makecompose.ahk | 9 |
1 files changed, 6 insertions, 3 deletions
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
}
|