Tastaturbelegung ändern - oder: die Sache mit Pos1...

lisanet

lisanet

Aktives Mitglied
Thread Starter
Dabei seit
05.12.2006
Beiträge
11.049
Reaktionspunkte
13.656
Eines der Dinge, über die ich gleich nachdem ich meinen ersten Mac hatte gestolpert bin, war, dass die Pos1-Taste (diejenige, die dort liegt, wo auf PC-Tastaturen Pos1 ist) ganz und gar nicht wie bisher gewohnt funktionierte. Und bei etlichen anderen Tasten ging es mir genauso. Daran gewöhnt habe ich mich bis heute nicht richtig. Doch es gibt Abhilfe. Vor kurzem habe ich in einem Thread dazu was geschrieben. Und weil es sicher auch viele andere interessiert, wiederhole ich es hier mal als Tutorial.

Machen wir uns also dran...

Du kannst recht einfach mit Bordmitteln die Tastenbelegung unter OS X nahezu beliebig ändern.

Dazu musst du im in deinem Home-Verzeichnis in den Ordner Library/KeyBindings wechseln. Existiert der nicht, dann lege ihn einfach an. Darin wird dann eine Datei namens DefaultKeyBinding.dict erzeugt und entsprechend geändert. Nach einem aus- und wieder anmelden, sind dann die neuen Tastenbelegungen aktiv. Aber Achtung, die Datei muss unbedingt in UTF-8 gespeichert werden und nicht als "formatierter Text" (kann man in TextEdit umstellen). Außerdem reagiert OS X recht kritisch, auch auf kleinste Tippfehler. Dann wird nämlich die gesamte Datei nicht beachtet. Besonders wichtig sind dabei z.B. die Anführungszeichen und die Doppelpunkte und Semikolons.

Wenn du z.B. nur das @-Zeichen auf "ALT+ q" umbelegen willst (was ich dir nicht sonderlich empfehle, da es direkt neben APFEL + q liegt und diese die aktuelle Anwendung beendet), dann sieht DefaultKeyBinding.dict wie folgt aus:

Code:
{
"~q" = ("insertText:", "@");
}

Möchtest du auch noch die "Pos1"-Taste, die "Ende"-Taste, "Page-up", "Page-down" und etliche andere ändern... ? :zwinker:

Vielleicht so wie du sie - so wie ich auch - jahrelang unter Linux oder Win* gewohnt warst? :D

Ich habe das Ganze unter mal näher beschrieben und auch zwei Links dazu genannt. Auch kannst du dort eine fertige Datei herunter laden.

Im Klartext sieht das dann so aus:

Code:
{
"\UF729" = "moveToBeginningOfLine:"; /* pos1 */
"^\UF729" = "moveToBeginningOfDocument:"; /* crtl + pos1 */
"$\UF729"  = "moveToBeginningOfLineAndModifySelection:";
"\UF72b" = "moveToEndOfLine:"; /* end */
"^\UF72B" = "moveToEndOfDocument:"; /* ctrl + end */
"$\UF72B"  = "moveToEndOfLineAndModifySelection:";
"\UF72C"   = "pageUp:";
"\UF72D"   = "pageDown:";
"^~7" = ("insertText:", "|"); /* orig alt 7 */
"^~8" = ("insertText:", "{"); /* orig alt 8 */
"^~9" = ("insertText:", "}"); /* orig alt 9 */
"^\U00DF" = ("insertText:", "\U00BF");
"^+" = ("insertText:", "\U00B1");
"~<" = ("insertText:", "|");
"~7" = ("insertText:", "{");
"~0" = ("insertText:", "}");
"~8" = ("insertText:", "[");
"~9" = ("insertText:", "]");
"~+" = ("insertText:", "~");
"~\U00DF" = ("insertText:", "\U005C");
}

Dann hast du hast neben Pos1, Ende, page-up, page-down auch noch die fürs flüssige Programmieren wichtigen Tasten mit den folgenden Belegungen:

Code:
{ = ALT + 7
} = ALT + 0
[ = ALT + 8
] = ALT + 9
\ = ALT + ß
~ = ALT + "+"-Taste
| = ALT + <

Die ursprüngliche Belegung von OS X für das ~-Zeichen bleibt unverändert und zusätzlich vorhanden und alle anderen oben genannten kannst du in Zusammenhang mit CTRL ereichen, also

Code:
| = CTRL + ALT + 7
{ = CTRL + ALT + 8
} = CTRL + ALT + 9
≠ = CTRL + ALT + 0
¿ = CTRL + ALT + ß
± = CTRL + "+"-Taste

Unter dem oben aufgeführtem Link sind im dortigen Artikel auch zwei weitere Webseiten angegeben, die sehr gut beschreiben, wie die Tastenbelegung funktioniert. Um den UTF-8 Code der zu belegenden Taste zu ermitteln (das sind in den Zeilen oben die Angaben wie "\Uxxxx") ist ein kleines Tool sehr hilfreich.

Du findest es genau hier: http://www.manytricks.com/keycodes/

Nach dem Starten, gibt es in einem Fenster zu jeder gedrückten Taste diverse Codes aus. Wichtig ist für unsere Zwecke der Tastencode in hex. Dieser muss dann nur noch in der Form \Uxxxx, also bei Tastencode 0x1A dann eben \U001A.

Viel Spaß beim Neubelegen...
 
  • Gefällt mir
Reaktionen: Macschrauber, pfannkuchen2001, SchaSche und 2 andere
MEIN(E) RETTER(IN)!!

Vielen Dank für die Links und dem kleinen Tutorial, ich bin beim Eclipsen schier am verzweifeln gewesen. Habe mir deshalb ne Silikon-Tastaturmatte für mein neues MacBook pro gekauft und dann darauf mit nem Edding nette Hieroglyphen gemalt, was überhaupt keine Lösung darstellt.
Ich kann überhaupt nicht nachvollziehen, dass ein Rechnerhersteller, der Systeme für Unixplattformen konzipiert (Leo), das Tastaturlyout so verhunzt,
aber das nur am Rande....

Gruß spl33n
 
Hat das schon Jemand unterm Leo probiert? Möchte mir ungern was zerschießen, bis jetzt schnurrt die Katze ;)
 
ja, es läuft unter Leopard einwandfrei bei mir, sowohl auf meinem MacBooka als auch auf dem iMac.

BTW, ich habe das Tutorial auch unter Leo erstellt und getestet.

@spl33n
freut mich, dass es dir geholfen hat :)
 
Gibt es auch die Möglichkeit die kleine Return-Taste (neben dem rechten Apfel) auf dem MacBook mit 'fn+Backspace' also 'del' zu belegen? Das wäre suuuuper!

Unter Tiger was das Problem mit DoubleCommand gelöst, aber unter Leo funktioniert DoubleCommand nicht vernünftig.
 
ja, die Möglichkeit gibt es natürlich. Dazu brauchst du nur den Tastencode zu kennen und der ist für diese Taste - es ist übrigens "Enter" und nicht "Return" - in der UTF-8 Notierung "\U0003".

Dann ist noch das Kommando bzw. der Tastencode für die gewünschte Aktion oder das Zeichen nötig. Für die von dir gewünschte Funktion "delete" (das ist die Aktion, die mit "fn + backspace" ausgeführt wird) lautet das Kommando "deleteForward:".

Also gibt das ganze folgende Ergänzung,

Code:
{
...hier stehen die anderen Tastenbelegungen ....
"\U0003" = "deleteForward:";
}
welche du ganz einfach als letze Zeile in die DefaultKeyBinding.dict vor die abschließende } Klammer einfügst.
 
Also gibt das ganze folgende Ergänzung,

Code:
{
...hier stehen die anderen Tastenbelegungen ....
"\U0003" = "deleteForward:";
}
welche du ganz einfach als letze Zeile in die DefaultKeyBinding.dict vor die abschließende } Klammer einfügst.

1000000 x Dankeschön!!!! Das ist ja der Hammer :) Endlich kein umständliches "fn+Backspace" mehr! :Waveypb:

Edit: Hmm, es funktioniert nur teilweise. Also in einem Texteditor oder z.B. in der Adressleiste des Browsers funktioniert es zwar, aber wenn ich z.B. beim Umbennen einer Datei die Taste drücke, funktioniert sie wieder wie die Enter Taste. Seltsam :-/

Weiß du woran das liegen könnte?
 
Zuletzt bearbeitet:
das habe ich leider auch schon bemerkt.

Die Sache mit DefaultKeyBinding.dict funktioniert eigentlich mit allen Programmen, die das Cocoa-Textsystem verwenden. Und das sollten eigentlich alle üblichen Mac OS X Anwendungen sein. Warum das nun aber ausgerechnet im Finder beim Umbenennen nicht funktioniert, ist mir nicht klar. Immerhin hat Apple ja das Cocoa API entwickelt, und den Finder als zentrales OS X Proggi ja auch,.... seltsam.... :confused:
 
das habe ich leider auch schon bemerkt.

Die Sache mit DefaultKeyBinding.dict funktioniert eigentlich mit allen Programmen, die das Cocoa-Textsystem verwenden. Und das sollten eigentlich alle üblichen Mac OS X Anwendungen sein. Warum das nun aber ausgerechnet im Finder beim Umbenennen nicht funktioniert, ist mir nicht klar. Immerhin hat Apple ja das Cocoa API entwickelt, und den Finder als zentrales OS X Proggi ja auch,.... seltsam.... :confused:

Oh nein, genau da, wo ich die Funktion am meisten brauche, undzwar in XCode funktioniert es auch nicht :heul:

Edit: Im Terminal funktioniert es auch net :-(
 
Hallo zusammen,

mir ist heute endlich gelungen, mein vor 8 Monaten geschrottetes MacBook zu reanimieren. Das letzte Problem ist die Taste mit "." und ":", die leider nicht mehr funktioniert. Bis Geld für ein neues Top Case übrig ist, würde ich gerne einfach die Tastaturbelegung ändern. Links oben "°" und "^" brauche ich nie, da könnte man doch stattdessen den Punkt hinlegen. Weiß vielleicht jemand was ich dazu in der DefaultKeyBinding.dict eingeben muss? Ich habe es schon mit Ukulele versucht, bin aber augenscheinlich zu blöd dazu...

BTW: Kroatien:Türkei ist ja sowas von langweilig...
 
Zuletzt bearbeitet:
ich habe jetzt mal versucht das hier alles nachzuvollziehen bzw zu kapieren, doch diese ganze programmierer.sprache - wie ich sie jetzt mal nenne - da hab ich einfach nicht alles gecheckt... ich hab eine frage:

ich würde gerne nur die beiden "diagonalen-tasten" ÜBER den pfeil-tasten in "Pos1" bzw "Ende" umwandeln... wie kann ich das jetzt machen, ohne dass ich auch noch die anderen Win-Belegungen habe, also PAGE UP bzw DOWN???

muss ich dafür trotzdem diesen neuen ordner anlegen und diese datei runterladen?
 
ich würde gerne nur die beiden "diagonalen-tasten" ÜBER den pfeil-tasten in "Pos1" bzw "Ende" umwandeln... wie kann ich das jetzt machen, ohne dass ich auch noch die anderen Win-Belegungen habe, also PAGE UP bzw DOWN???

muss ich dafür trotzdem diesen neuen ordner anlegen und diese datei runterladen?

Der genannte Ordner muss auf jeden Fall vorhanden sein. Falls nicht, dann musst du ihn anlegen. Und wenn du nur "Pos1" und "Ende" haben willst, dann musst du dir eben die Datei DefaultKeyBinding.dict mit nur den Zeilen anlegen, die in dem ursprünglichen posting im Kommentar "pos1" und "end" stehen haben. Sinnvoll finde ich es auch, die ursprünglichen Funktionen der Tasten zusammen mit "ctrl" auch weiterhin zu besitzen. Also wären noch die beiden Zeilen mit "ctrl + pos1" und "ctrl + end" sinnvoll.

Die dann gekürzte Datei hat den folgenden Inhalt
Code:
{
"\UF729" = "moveToBeginningOfLine:"; /* pos1 */
"^\UF729" = "moveToBeginningOfDocument:"; /* crtl + pos1 */
"\UF72b" = "moveToEndOfLine:"; /* end */
"^\UF72B" = "moveToEndOfDocument:"; /* ctrl + end */
}
Wie gesagt: Ordner anlegen, obige Zeilen in die Datei DefaultKeyBinding.dict schreiben, fertig.

Hope that helps.
 
Ich antworte hier nur kurz, damit ich morgen wenn die nächste Antwort kommt nochmal an den Thread erinnert werde. Sowas suche ich schon lange.

Gibt es hier eigentlich sowas wie Favoriten?
 
jop.
oben auf themen optionen und dann thema abonieren.
Wird dir dann im Kontrollzentrum angezeigt.
 
Hallo!

Ich habe Mac OSX Leopard und eine englische Tastatur. Um mir u.a. bei den Umlauten einen Schritt zu sparen würde ich gerne diese direkt auf Option + die jeweilige Taste (z.B. Option a) legen. Ich habe dies anhand dieser Anleitungen versucht, jedoch nicht hinbekommen. Weiß jemand was am folgenden falsch ist:

{
"~a" = ("insertText:", "ä");
"~o" = ("insertText:", "ö");
"~u" = ("insertText:", "ü");
"~e" = ("insertText:", "€");
"~4" = ("insertText:", "§");
}



Danke!
 
Hi Leute! Die Sache klingt super, leider klappt es bei mir nicht....
Wenn ich die Datei erstelle und mich ab- und wieder anmelde ist die Tastaturbelegung wie vorher, Leopard wird dafür aber schrecklich langsam...

Ich hab mein .dict file mal angehängt...

Bin für jeden Tip dankbar
 
Die dann gekürzte Datei hat den folgenden Inhalt
Code:
{
"\UF729" = "moveToBeginningOfLine:"; /* pos1 */
"^\UF729" = "moveToBeginningOfDocument:"; /* crtl + pos1 */
"\UF72b" = "moveToEndOfLine:"; /* end */
"^\UF72B" = "moveToEndOfDocument:"; /* ctrl + end */
}
Wie gesagt: Ordner anlegen, obige Zeilen in die Datei DefaultKeyBinding.dict schreiben, fertig.

Hope that helps.

Hi.

Erst einmal vielen Dank für die Mühe, die du dir hierfür gemacht hast.
Wie du auch anhand der Beiträge erkennen kannst, warst du nie alleine mit dem Problem.

Ich habe es auch so hinbekommen wie du oben beschrieben hast.
Da bin ich schon mal sehr glücklich drüber.

Bei Word z.B. funktioniert das mit dem beiden Tasten unterhalb von F14 für POS1 und END einwandfrei.

Jedoch muss ich leider feststellen, dass es z.B. beim Verfassen dieses Beitrages wiederum nicht funktioniert.
Wenn ich diese Tasten jetzt drücke, verhalten sie sich ebenso, wie die beiden Tasten rechts daneben.
Also bei der oberen Taste springen sie an den Anfang des Dokumentes und bei der unteren Taste ans Ende des Textes.

Jedoch der Cursor bleibt dort stehen, wo er zuvor auch war.
Es ist also nur so eine Art Blätter-Funktion.

Weißt du event., wie man das so hinbekommt, weil ich viel in Foren schreibe, dass es dort auch so funktioniert, wie bei den Schreibprogrammen?

BTW:
CMD + Cursor links für POS1

oder

CMD + Cursor rechts für END

funktionieren hier tadellos.
Aber die 1. Tasten-Funktion wäre schon echt klasse.

Das wäre echt super, wenn du dich hier noch mal melden und was dazu sagen würdest.

THX.
 
Hallo und guten Tag,

Ich benutze einen MacBook/Leopard Snow über eine externe deutsche Bluetooth Tastatur von Apple.
Da Albanisch keinen „w“ hat und gleichzeitig unheimlich viele „ë“, benutzen Computernutzer „w“ für „ë“ und ersetzen am Ende die Buchstaben. Dass ist auch der Grund, warum Georg W Bush in albanischen Texten Georg Ë Bush heißt; das ist aber ein anderes Thema.
Um die Dienste von Rechtsschreibprogramme auch für Texte auf Albanischen während des Schreibens zu nutzen, ist es mir wichtig, dass ich bereits beim schreiben statt „w“ „ë“ eintippe, wenn ich die Taste „w“ betätige, ansonsten schreibe ich einen Text voller Fehler, da “ë“ in dieser Sprache fast in jedem Wort vorkommt.
Gibt es eine Möglichkeit für Apple-Anwender eine einzige Taste für eine Weile zu umfunktionalisieren? Ich bin bereits auf diese Seite gestoßen; jedoch hatte ich keinen Erfolg...
Ich wäre für jeden Tipp sehr dankbar.
Gent
 
Hallo,

danke für die Hilfe. Jetzt habe ich in Anwendungen wie Pages oder Textedit endlich wieder <Pos1> und <Ende> wie ich es von Windows her kenne.

Leider kann ich das für Thunderbird nicht sagen. Kennst Du/kennt jemand eine Möglichkeit, in Thunderbird Tasten umzubelegen? (Es gibt das Addon keyconfig, aber damit kann ich keine Tasten zusätzlich bestimmen, sondern muss eine vorgegebene Tastenliste aufgreifen. Genau dort fehlt aber <Pos1> und <Ende>.)

Die Syntax der Default-KeyBinding.dict-Datei ist ja KeyCode = ActionCode. Ich bräuchte aber jetzt KeyCode = KeyCode + KeyCode. Weißt Du/weiß jemand weiter?

Gruß,
coatimundi


[EDIT]: Jetzt habe ich doch noch ein Thunderbird-Addon gefunden, das genau das leistet: Keyfixer.
 
Zuletzt bearbeitet:
Hallo,
ich wärme hier mal ein Uraltes Thema wieder auf! Ich habe diese Beschreibung hier gefunden und war total glücklich, das sich jemand die Mühe gemacht hat, dies so ausführlich zu beschreiben... Ich habe auch die Datei genommen, die der Ersteller des Themas freundlicherweise zum download bereit gestellt hat, da diese alle Änderungen die ich mir wünsche bereithält. Allerdings funktioniert es bei mir nicht... kann es sein, dass es heute einfach nicht mehr so funktioniert unter Mountain Lion? Hat jemand die gleiche Erfahrung gemacht wie ich... hat jemand eine Lösung?
Ich bin für jegliche Antwort sehr dankbar!
Viele Grüße
Raphael
 
Zurück
Oben Unten