Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) SO8 OOo2 OOo3

Kommandos oder Sonderzeichen mit einer Tastenkombination (engl. shortcut) verfügbar machen.

1. Befehle einer Tastenkombination zuordnen

Die meisten Befehle, die man über das Menü oder eine SymbolLeiste aufrufen kann, lassen sich auch einer Tastenkombination zuordnen. Dazu rufen Sie den Dialog Extras → Anpassen… → Tastatur auf.

Die Befehle sind nach Bereichen geordnet. Zuerst wählt man daher den Bereich, aus dem man einen Befehl benötigt (z.B. „Einfügen“).

Hat man den Bereich gewählt, so erscheinen rechts daneben die darin enthaltenen Funktionen (z.B. „Fußnote direkt einfügen“).

Ist für diese Funktion bereits eine Tastenkombination vergeben (ggf. als Default), so erscheint diese unter Tasten.

Unter Tastenkombinationen kann man nun eine Tastenkombination wählen, die man der soeben ausgewählten Funktion zuweisen möchte. Wählt man eine bereits belegte Tastenkombination, wird die Belegung dieser Tastenkombination geändert.

Mit einem Klick auf die SchaltFläche Ändern werden die soeben vorgenommenen Einstellungen gespeichert.

anpassen_tastatur.png

Wenn eine Tastenkombination nicht funktioniert, liegt das normalerweise daran, dass sie vom entsprechenden Betriebssystem schon belegt ist. In dem Fall muss man sich entweder eine andere Tastenkombination suchen, oder die Zuordnungen im Betriebssystem ändern.

Tastenkombinationen mit Alt Gr stehen in diesem Dialog nicht zur Verfügung.

2. Sonderzeichen einfügen

Es ist über den o.g. Dialog nicht möglich, Tastenkombinationen für Sonderzeichen zu vergeben. Schreibt man also einen z.B. einen französischen Text und möchte z.B. das ç weder jedes Mal mit Einfügen → Sonderzeichen… eingeben, noch das Tastaturlayout komplett umstellen (betriebssystemseitig), braucht man eine alternative Lösung.

2.1. „Offizielle“ Wege

Bei auf X11 basierenden Systemen wie Linux besteht die Möglichkeit zur Eingabe von verschiedenen, auf dem lateinischen Alphabet basierenden Zeichen sowie von Symbolen durch Verwendung der 3. und 4. Tastaturebene und/oder durch Verwendung von Kombinationen von Tasten mit dem sog. Compose Key oder Multi-Key, siehe TastenKombinationenMitAltGr. Unter Windows® können eigene Tastaturbelegungen mit Hilfe des Keyboard Layout Creator definiert werden. Ansonsten kann man das Tastaturlayout bedarfsweise auf verschiedene Schemata (Länder/Sprachen) umschalten.

Die nachfolgend beschriebenen Möglichkeiten sind jedoch nur spezifisch für OpenOffice.org, also unabhängig von Betriebssystem und Tastaturlayout.

2.1.1. Makro

Das Einfügen von Sonderzeichen ist in dem (leider bis jetzt noch nicht übersetzten) Howto im Abschnitt General unter dem Titel How To Insert Special Characters beschrieben.

Das Howto geht u.a. darauf ein, wie man das Einfügen mit dem MakroRecorder aufzeichnen kann. Der Makrorecorder zeichnet aber nicht nur das Zeichen auf, sondern auch die Schriftart. Wollen Sie nicht gleichzeitig die Schriftart festlegen, können Sie z.B. das Makro von http://codesnippets.services.openoffice.org/Writer/Writer.InsertUnicodeCharacter.snip benutzen.

Zum Beispiel würde das folgende Makro das Zeichen mit der hexadezimalen Unicode-Nummer 00E7, also das Zeichen ç, einfügen (im Makro-Code steht in der Zeichenkette &H00E7 der Teil &H für „hexadezimale Unicode-Nummer“ und 00E7 ist die hexadezimale Unicode-Nummer des einzufügenden Zeichens)1.

Sub EmitCcedillaSmall
Dim doc as variant
Dim controller as variant
Dim textviewcursor as variant
doc = ThisComponent
controller = doc.getCurrentController()
textviewcursor = controller.getViewCursor()
Dim character as String
character = chr(clng("&H00E7"))
textviewcursor.setString(character)
textviewcursor.goRight(1, false)
End Sub

Diesem Makro können Sie über den o.g. Dialog Extras → Anpassen… → Tastatur eine Tastenkombination zuweisen (Bereich „OpenOffice.org Makros“), wobei Ihnen jedoch – wie erwähnt – Kombinationen mit der Alt Gr-Taste nicht zur Verfügung stehen. Sie können dem Makro darüber hinaus auch eine SchaltFläche zuweisen.

2.1.2. AutoKorrektur / AutoText

Sonderzeichen können auch mittels AutoKorrektur eingefügt werden, z.B.:

  1. Einfügen → Sonderzeichen… → (U+2122) 2

  2. Zeichen markieren, Bearbeiten → Kopieren (Strg+c)

  3. Extras → AutoKorrektur… → Ersetzung

  4. Ersetzen durch: ist bereits vorgegeben, in Kürzel z.B. [tm] eintragen

  5. Auf SchaltFläche Neu klicken und Dialog durch OK schließen

  6. Wenn man jetzt im Writer [tm] (gefolgt von Leerzeichen, Zeilen- oder Absatzwechsel) eintippt, wird dies durch ersetzt

...oder mittels AutoText, z.B.:

  1. Einfügen → Sonderzeichen… → (U+2234) 3

  2. Zeichen markieren, Bearbeiten → Kopieren (Strg+c)

  3. Bearbeiten → AutoText…

  4. In Name mit Strg+v das Zeichen einfügen, unter Kürzel z.B. th4 eintragen

  5. Auf SchaltFläche AutoText lang klicken, dann auf Neu (nur Text), den Dialog schließen

  6. Wenn man jetzt im Writer th4 gefolgt von der Taste F3 eintippt, wird dies durch ersetzt

2.2. Händisches Bearbeiten der Konfiguration

2.2.1. Verfahren bis einschließlich Version 3.0

Es ist bis jetzt innerhalb von OpenOffice.org nicht möglich, mit dem o.g. Dialog Extras → Anpassen… → Tastatur einer Tastenkombination das Einfügen eines Sonderzeichens zuzuweisen. Auch stehen hier Tastenkombinationen mit der Alt Gr-Taste oder der Alt-Taste nicht zur Verfügung. Durch Bearbeiten der zugehörigen Konfigurationsdatei von Hand können jedoch auch Tastenkombinationen mit der Alt Gr-Taste, der Alt-Taste oder das Einfügen von Sonderzeichen eingestellt werden.

  1. Zunächst sorgen Sie dafür, dass die nötige Datei überhaupt angelegt wird: Rufen Sie Extras → Anpassen… → Tastatur auf und verlassen Sie den Dialog gleich wieder mit der SchaltFläche OK. Jetzt gibt es im BenutzerVerzeichnis unter users\config\soffice.cfg\modules\swriter\accelerator\de\ eine Datei current.xml. Diese Datei enthält die Festlegung der Shortcuts - nur diejenigen, die der Nutzer selbst angepasst hat. Die Standardbelegungen sind in dieser Datei nicht verzeichnet.

  2. Legen Sie sich eine Sicherheitskopie der Datei an.

  3. Legen Sie sich eine Arbeitskopie der Datei an, weil die Datei nicht gleichzeitig von OpenOffice.org benutzt werden und durch das selbe Programm bearbeitet werden kann.

  4. Sie benötigen einen Editor, der UTF-8 beherrscht, LF-Zeilenenden (UNIX) achtet und keine BOM (byte order marker) setzt.4

  5. Öffnen Sie die Arbeitskopie (Datei → Öffnen…) als Datei vom Typ Text kodiert (*.txt) und stellen Sie bei den ASCII-Filteroptionen als ZeichenSatz Unicode (UTF-8) und als Absatzumbruch LF ein.

  6. Lernen Sie den Aufbau der Datei kennen:5
    Zu jeder Tastenkombination gehört eine Zeile accel:item. Der Aufbau dieser Zeilen ist immer gleich. Die einzelnen Parameter sind:

    1. accel:code="Schlüsselwort für Taste": Hier geben Sie die Taste an, die Sie benutzen möchten. Dieses Attribut ist immer erforderlich. Wie diese Schlüsselworte aussehen, sehen Sie an den vorhandenen Zeilen. Eine Übersicht der Schlüsselwörter: schluesselwoerter_fuer_tasten.png

    2. accel:shift="true": Kombination mit der Umschalttaste.

    3. accel:mod1="true": Kombination mit der Taste Strg.

    4. accel:mod2="true": Kombination mit der Taste Alt.
      Wenn Sie eine bestimmte Kombinationstaste (z.B. Alt) für Ihre Tastenkombination nicht benötigen, können Sie das entsprechende Attribut einfach weglassen, der Default ist nämlich false. Wenn Sie gleichzeitig eine Kombination mit den Tasten Strg (mod1) und Alt (mod2) einschalten, kann auf der Tastatur statt dessen auch die Taste Alt Gr benutzt werden - dies gilt für Windows. Unter Linux gibt es keine Gewähr dafür, dass "Strg+Alt+..." durch "Alt Gr+..."ersetzt werden kann.

    5. xlink:href="framework command": Dieses Attribut ist immer erforderlich. framework command sind die Kommandos6 wie sie auch vom Makrorecorder benutzt werden.
      Zum Einfügen eines Sonderzeichens benötigen Sie den Befehl .uno:InsertSymbol?Symbols:string=. Das Zeichen muss in UTF-8 kodiert sein, so wie es auch eingefügt wird, wenn man es mit dem Dialog Einfügen → Sonderzeichen… einfügt.

  7. Markieren Sie zunächst irgendeine Zeile, in der ein Buchstabe benutzt wird, von hinter dem ersten < bis nach dem ersten < der folgenden Zeile, damit auch der Zeilenwechsel mit eingeschlossen ist, und kopieren Sie sie in die ZwischenAblage.

  8. Heben Sie die Markierung auf und fügen Sie den Inhalt der Zwischenablage als unformatierten Text an der gleichen Stelle wieder ein (Strg+Shift+V), sodass Sie eine Zeile doppelt haben.

  9. Passen Sie nun in einer der beiden Zeilen die Attribute Ihren Wünschen entsprechend an. Die spezielle Kombination darf noch nicht vergeben sein, sollte auch nicht bei den globalen Shortcuts vorkommen und sollte auch nicht mit Kombinationen kollidieren, die das Betriebssystem benutzt.
    Beispiel für eine komplette Zeile, die auf Alt Gr+c das Einfügen des Zeichens ç legt:

     <accel:item accel:code="KEY_C" xlink:href=".uno:InsertSymbol?Symbols:string=ç" accel:mod1="true" accel:mod2="true"/>
  10. Nun speichern Sie die veränderte Datei. Wenn Sie sie unter einem neuen Namen speichern wollen, dann benutzen Sie wieder als Dateityp Text kodiert (*.txt) und aktivieren außerdem die Option Filtereinstellungen bearbeiten (in OpenOffice.org).

  11. Nach einem Klick auf die SchaltFläche Speichern öffnet sich der Dialog ASCII-Filteroptionen. Dort wählen Sie als ZeichenSatz Unicode (UTF-8) und als Absatzumbruch LF (UNIX).

  12. Beenden Sie OpenOffice.org (ggf. einschl. SchnellStarter).

  13. Sofern Sie die Datei current.xml mit OpenOffice.org bearbeitet haben, hat das Programm nun am Anfang der Datei die Bytes EF BB BF eingefügt (byte order mark).
    <!> Diese BOM muss unbedingt entfernt werden!7
    Dafür kann man die Datei z.B. einmal mit Amaya öffnen und wieder abspeichern. – Dies können Sie sich natürlich ersparen, indem Sie die Datei von Anfang an in einem Text-Editor bearbeiten.

  14. Hatten Sie eine Sicherheitskopie der Datei current.xml erstellt? Dann können Sie nun die geänderte Datei in current.xml umbenennen.

  15. Starten Sie nun den Writer mit einem neuen TextDokument.
    Sollte die geänderte Datei nicht in Ordnung Sein, wird OpenOffice.org beim ersten Tastendruck abstürzen. In diesem Fall schalten Sie im Crashreporter die Option OpenOffice.org automatisch starten ab. Ersetzen Sie die geänderte Datei current.xml durch die Sicherungskopie, starten Sie OpenOffice.org erneut und führen Sie die Schritte des Crashreporters zu Ende aus, aber ohne einen Crashreport zu senden8.

  16. Sollte hingegen alles gut gelaufen sein, legen Sie eine Kopie der von Ihnen veränderten Datei an, die Sie verwenden können, falls OpenOffice.org einmal aus irgendeinem Grund die manuellen Veränderungen überschreiben oder zurücksetzen sollte.

2.2.1.1. Es funktioniert nicht...

Ursachen können sein:

2.2.1.2. Beispieldatei

Diese Datei passt den Writer so an, dass auch unter Windows® die meisten der unter Linux üblichen Zeichen der 3. und 4. Ebene (mit AltGr bzw. AltGr+Shift) direkt mit der Tastatur eingegeben werden können (vgl. TastenKombinationenMitAltGr).

  1. Laden Sie die Datei herunter: current.xml

  2. Beenden Sie OpenOffice.org (ggf. einschl. Schnellstarter)

  3. Ersetzen Sie die Datei "C:\Dokumente und Einstellungen\Benutzer\Anwendungsdaten\OpenOffice.org2\user\config\soffice.cfg\modules\swriter\accelerator\de\current.xml" durch die heruntergeladene Datei (machen Sie sich ggf. vorher eine Sicherungskopie der Originaldatei)

Wenn Sie zuvor selbst Einstellungen unter Extras → Anpassen… → Tastatur gemacht haben, gehen diese Einstellungen verloren!

2.2.1.3. Erweiterungen

Nach dem gleichen Muster lassen sich auch für andere Funktionen Shortcuts erstellen. Im Prinzip kannst du die anderen "framework commands" aus der Liste http://framework.openoffice.org/files/documents/25/2570/commandsReference.html benutzen. Es ist aber noch nicht klar welche tatsächlich funktionieren und es exisistiert (bis Mrz 2005) keine öffentliche Liste der zugehörigen Parameter.

2.2.2. Verfahren ab Version 3.1

Ab der Version OOo 3.1 wird für die Konfiguration der Tastatur eine xcu-Datei benutzt. (Dieses Format ist für andere Konfigurationen schon länger üblich.) Das zugehörige Schema ist definiert in ...\OpenOffice.org 3\Basis\share\registry\schema\org\openoffice\Office\Accelerators.xcs

Weitere Einzelheiten zum OpenOffice.org Registry Format finden Sie unter http://util.openoffice.org/common/configuration/oor-document-format.html

Die für alle Nutzer gültige Datei mit den voreingestellten Tastenkombinationen ist ...\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Office\Accelerators.xcu

Die persönlichen Einstellungen liegen in der entsprechenden Datei im user-Verzeichnis ..\user\registry\data\org\openoffice\Office\Accelerators.xcu

Wenn Sie noch keine Tastenkürzel selbst definiert haben, dann führen Sie dies zunächst mit irgendeinem Buchstaben und irgendeinem Kommando mit dem Anpassen-Dialog durch. Dadurch erzeugen Sie die notwendige Datei und können diese dann anpassen.

Diese Datei ist eine gemeinsame Datei für alle Module. Jedes Modul hat darin einen eigenen Abschnitt, zum Beispiel <node oor:name="com.sun.star.text.TextDocument"> Für alle Module geltende Kombinationen stehen im Abschnitt <node oor:name="Global">

Die Datei ist in zwei Abschnitte eingeteilt <node oor:name="PrimaryKeys"> und <node oor:name="SecondaryKeys">. Die vom Benutzer selbst definierten Tastenkombinationen stehen im PrimaryKeys-Abschnitt. Falls der Benutzer für ein Kommando eine Tastenkombination definiert, dem schon in den Voreinstellungen eine andere Kombination zugewiesen war, dann wird diese in den SecondaryKeys-Abschnitt verschoben und im PrimaryKey-Abschnitt als entfernt notiert, zum Beispiel <node oor:name="RIGHT_SHIFT_MOD1" oor:op="remove"/></node>.

Jede Tastenkombination wird durch einen node-Abschnitt beschrieben. Obiges Beispiel für AltGr+c zum Erzeugen von ç lautet nun

<node oor:name="C_MOD1_MOD2" oor:op="replace">
  <prop oor:name="Command">
    <value xml:lang="en-US">.uno:InsertSymbol?Symbols:string=ç</value>
  </prop>
</node>

Dabei ist:

oor:name="C_MOD1_MOD2" Die gewünschte Tastenkomination

oor:op="replace" Der Wert replace wird auch für neue Tastenkombinationen benutzt.

xml:lang="en-US" Dies ist die Sprache der Benutzeroberfläche für die das Kommando gelten soll, wenn es ein Kommando ist, das in verschiedenen Sprachen unterschiedlich lautet. Sie sollten zunächst "en-US" benutzen und nur wenn es nicht klappt, die Sprache als Ursache in Erwägung ziehen.

.uno:InsertSymbol?Symbols:string=ç Das bei der Tastenkombination auszuführende Kommando. Es steht nun nicht mehr in einem Attribut, sondern ist der Inhalt des value-Elements.

3. Siehe auch


KategorieWriter KategorieHowto

  1. Die hexadezimale Nummer wird auch im Dialog Einfügen → Sonderzeichen… rechts unten angezeigt, in diesem Beispiel U+00E7. (1)

  2. trademark, unregistriertes Markenzeichen (2)

  3. therefore, deshalb (3)

  4. WordPad und NotePad sind hierfür ungeeignet! Hingegen ist z.B. der Editor jEdit (Windows) oder Kate (Linux) geeignet. Im Folgenden wird aber beschrieben, wie die Datei mit OpenOffice.org selbst bearbeitet werden und die dabei erzeugte BOM mit dem Programm Amaya entfernt kann. (4)

  5. Der Aufbau der Datei und die theoretisch möglichen Tasten werden im "Administration Guide", Kapitel 4 bzw. im "OpenOffice.org XML File Format 1.0 Technical Reference Manual", Abschnitt 9.2 (http://xml.openoffice.org/xml_specification.pdf) beschrieben. (5)

  6. Eine Übersicht solcher Kommandos steht auf http://framework.openoffice.org/files/documents/25/2570/commandsReference.html (6)

  7. Wenn Sie die BOM nicht entfernen und die Datei mit BOM verwenden, stürzt OpenOffice.org unweigerlich ab! (7)

  8. Schließlich liegt kein Fehler im Programm vor, sondern in der gerade von Ihnen geänderten Konfigurationsdatei. :-) (8)


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28