1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Ubuntu auf PowerBook G4 -- Tastaturbelegung anpassen

Dieses Thema im Forum "Linux auf dem Mac" wurde erstellt von Lars, 06.09.07.

  1. Lars

    Lars Gast

    Hallo Forum,

    aus purer Neugier habe ich parallel zu Mac OS X 10.4.10 noch Ubuntu-Linux in Version 7.04 »Feisty Fawn« auf einem PowerBook G4 installiert. Soweit, so gut -- die Dual-Boot-Umgebung funktioniert perfekt, ich kann beide Betriebssysteme frei nach Gusto verwenden.

    Lediglich in Sachen Tastatur respektive deren Belegung hätte ich noch einen Wunsch: Insofern möglich würde ich gerne das Verhalten der Tasten [Befehl] und [Ctrl] ändern beziehungsweise anpassen. En detail sollte hierbei [Befehl] die Funktion von [Ctrl] übernehmen, während letztere dann nur noch für den Rechtsklick (und gegebenenfalls im Terminal) zum Zuge kommen sollte. Letzteres habe ich mittels des Daemon Mouseemu im Übrigen auch schon bewerkstelligen können. Es bliebe so gesehen also eigentlich nur noch das »Vertauschen« der Tasten [Befehl] und [Ctrl].

    Ausserdem würde ich Sonderzeichen, insbesondere (oder zumindest) die diversen Klammervarianten, das Euro- sowie das @-Zeichen, über die vom Mac gewohnten und auf den entsprechenden Tasten vermerkten Tastenkombinationen erreichen.

    Vielleicht gibt es ja eine Lösung für meine Anliegen ... :)

    Schon mal vielen Dank für eventuelle Antworten
    Lars
     
  2. rgoetz

    rgoetz Boskoop

    Dabei seit:
    09.03.07
    Beiträge:
    41
    Hallo,

    Zu diesem Thema habe ich vor Jahren schon mal einen Anleitung verfasst und sie nun im mcnix wiki abgelegt.

    Bis dann

    R"udiger
     
  3. Lars

    Lars Gast

    Besten Dank -- dann will ich mich sogleich mal an die Umsetzung wagen ... ;)
     
  4. Lars

    Lars Gast

    Ich muss leider ganz kleinlaut zugeben, dass es mir beim besten Willen nicht gelingt, die beschriebene Vorgehensweise in die Tat umzusetzen. Hätte vielleicht noch jemand den entscheidenden FIngerzeig oder eine alternative Lösung (für DAUs) parat? :-[
     
  5. rgoetz

    rgoetz Boskoop

    Dabei seit:
    09.03.07
    Beiträge:
    41
    Hallo,

    Wo hängt es den?

    Hast du mal klein angefangen (nur einen Taste verändert)?

    Einmal kurz was zur Logik von xmodmap:

    Jede Taste hat eine Nummer (auch keycode geannt)
    Diesem keycode kann man ein Symbol zuordenen. Es gibt zwei Arten von Symbolen,
    solche die unmittelbar ein Zeichen ausgeben und solche die nur ein Name für die Taste sind.
    Zu den ersteren gehört die Taste 'A', zu den zweiten gehören z.B. die Control oder Alt-Tasten.
    Letztere müssen nun noch eine Funktion, bzw. einem "Modifier" zugeordnet werden.

    Nun zu einem Beispiel:
    Vertauschen der Funktionalität von Ctrl und Alt-Taste:

    Variante 1: Vertauschen der Zuordnung zwischen Funktion und Tastensymbol

    ---------------

    clear control
    clear mod1
    add mod1 = Control_R Control_L
    add control = Alt_L Alt_R

    ------------------

    in eine Datei (z.B. names Xmodmap) schreiben.
    und im terminal mit

    xmodmap Xmodmap

    aktivieren. In diesem Fall setze ich voraus das die Zuordnugn keycode zu Symbol vorher schon sinnvoll ist.

    Variante zwei: Veränderng der Zuordnung der Symbole zu den keycodes (im Beispiel verwende ich die Keycodes meines Keyboard hier, kann bei dir anders sein, s.u.):

    die Keycodes bei mir sind:
    links: control=37, Windows=115, Alt=64
    rechts Alt=113, Windows=116, Control=109

    (ich arbeite beruflich an einem Linux-PC mit "Windows"-Tastatur, ich setzte in den Beispielen mal Windows=Befehl/Apfel/Propeller, auch wenn die Anordnung anders ist)

    -------------------------

    keycode 37 = Alt_L
    keycode 64 = Control_L
    keycode 113 = Control_R
    keycode 109 = Alt_R

    ------------------------------

    Das ganze in eine Datei und wie oben aktivieren.
    In diesem Fall setze ich voraus das die Zuordnugn Symbol zu Funktion vorher schon sinnvoll ist.


    Variante 3: Auf Nummer sicher

    -------------------------

    keycode 37 = Control_L
    keycode 64 = Alt_L
    keycode 113 = Alt_R
    keycode 109 = Control_R

    clear control
    clear mod1
    add mod1 = Control_R Control_L
    add control = Alt_L Alt_R

    ------------------------------

    Weiteres Vorgehen wie oben.

    Alles klar? Soweit.


    Dann weiter, die Befehlstaste ist unter Unix ursprünglich nicht vorgesehen. aber es gibt die Tastatursymbole 'Super_L' und 'Super_R' die man dafür verwenden kann.

    Damit könnte man dann folgendes machen:

    -------------------------

    keycode 37 = Control_L
    keycode 115 = Super_L
    keycode 64 = Alt_L
    keycode 113 = Alt_R
    keycode 116 = Super_R
    keycode 109 = Contorl_R

    clear control
    clear mod1
    add mod1 = Control_R Control_L
    add control = Super_L Super_R

    ------------------------------

    Falls du noch einen zweite Tastaturebene haben willst, meld dich noch mal. Dann erklär ich auch das noch (gerne). Nur für jetzt würde es wohl zuviel

    Nun noch ein letztes. Wie bekommst du den keycode einer Taste.
    Dazu öfnnest du ein Terminal und startest das program xev

    Das öfnnet ein Fenster, in das du die Maus bewegst. Während dessen erscheinen massig Meldungen im Terminal (das sind die X-Events, die deine Mausbewegung verursacht).Im fenster angekommen tippst du auf deie Taste, deren keycode du willst und schreibst ihn dir auf paier auf (auf dem rechner wird es schwierig, weil bevor du woanders hinkommst zuvielen weiter X-Events angezeigt werden)

    Ein Solche Anzeige sieht z.B. so aus:

    Code:
    KeyPress event, serial 27, synthetic NO, window 0x3000001,
        root 0x60, subw 0x0, time 1620747168, (66,172), root:(244,409),
        state 0x0, keycode 37 (keysym 0xffe4, Control_R), same_screen YES,
        XLookupString gives 0 bytes:
        XmbLookupString gives 0 bytes:
        XFilterEvent returns: False
    
    KeyRelease event, serial 30, synthetic NO, window 0x3000001,
        root 0x60, subw 0x0, time 1620747740, (66,172), root:(244,409),
        state 0x4, keycode 37 (keysym 0xffe4, Control_R), same_screen YES,
        XLookupString gives 0 bytes:
    
    Hier ging es um die Taste mit dem Keycode 37, die bei mir dem Symbol 'Control_R' zugeorndet ist.


    Zum Schluss:

    Wenn du dir ganz sicher bist, dass deine Xmodmap-datei in Ordnung ist, logt dich noch einmal aus X11 aus und neu eine und probier sie aus. Wenn nun alles O.K. ist, dann kannst du sie in dein Homeverzeichnis als ".Xmodmap" packen (beachte den Punkt am Anfang) viele Ditributionen binden dann deren Inhalt beim Einloggen automatisch ein. Allerdings können KDe oder Gnome dies auch wieder überschrieben. In diesem Fall sind weitere Tricks nötig (melde die ggfs noch mal)

    Und ein allerletztes:

    Das beschriebene gilt nur fürt X11, aber nicht für die nichtgrafischen Textkonsolen. Da geht ähnliches, aber mit anderen Kommandos (sind leider zwei extra Welten).

    ICh hoffe das war jetzt klarer. Wenn nciht frag noch mal nach (am besten mit Verweise darauf wo es unklar wird).

    Bis dann

    R"udiger
     
    1 Person gefällt das.
  6. Lars

    Lars Gast

    Hossa, nach diesem Beitrag sollten wirklich keine Fragen mehr offen sein ... :) Ich werde mich asap nochmal an die Umsetzung wagen und mich hernach auf jeden Fall wieder melden.
     
  7. Lars

    Lars Gast

    [SIZE=-1]Halleluja, es ist vollbracht ... 8)

    Dank der guten Anleitung habe ich das Anpassen soweit hinbekommen, mein erster Versuch war im Übrigen am Aktivieren des neuen Tastaturlayouts gescheitert.

    Was mir jetzt noch fehlt, ist der entscheidende Tipp in Sachen Sonderzeichen, vielleicht hat ja noch jemand die nötige Geduld. Euro- und At-Symbol sowie die diversen Klammervarianten finde ich zu meiner Verwunderung bereits an ihrem vertrauten Platz. Lediglich die spitzen Klammern liegen auf der falschen Taste, en detail auf jender unterhalb der Escape-Taste (Accent Hau-mich-tot und Grad-Symbol). Ich schätze mal, das fällt unter die Konfiguration der zweiten Tastaturebene, da ja schliesslich zwei Tasten zu bedienen sind, oder?

    Schon mal vielen Dank bis hierher! :)
    [/SIZE]
     
  8. rgoetz

    rgoetz Boskoop

    Dabei seit:
    09.03.07
    Beiträge:
    41
    Hallo,

    Zum einen kannst du einer Taste das Key-Symbol 'Mode_switch' zuweisen. Wenn du diese Taste drückst wird die zweite Tastaturebene aktiviert. Du muss acuh nix weiter tun um diese Funktion einzubinden. Die Zuweisung des Symbols reicht hier (anders als bei ALT, Shift oder Control)

    Zum anderen kannst du jedem Keycode (ausser solchen, denen du eine "Funktion" zugewiesen hast)
    vier Symbole zuweisen, und zwar

    ohne modifiert, mit Shift, mit Mode_switch, mit Mode-Switch und Shift

    als z.B. um das ü udn Ü bei einer amerikanischen Tastatur auf die [ / { -Taste zu bekommen (ich bevorzuge die amerikanische Layout aber mit Zusatztasten ür die deutschen Sonderzeichen):

    keycode 34 = bracketleft braceleft udiaeresis Udiaeresis

    usw.

    Ich hoffe, dass hilft dir weiter.

    BTW:

    mit

    xmodmap -pm

    kann man sich das aktuelle modifier-Set angucken, und mit

    xmodmap -pke
    bzw.
    xmodmap -pke | less

    kann man sich die aktuelle Keycode-Symbol Zuweisung angucken. Bei diesem Befehl stimmt sogar die Syntax sodass man daraus direkt eine Xmodmap-Datei machen kann (allerdings ohne Anpassung der Modifier)

    Bis dann

    R"udiger
     
  9. Lars

    Lars Gast

    Herrlich, jetzt klappt alles wie gewünscht -- besten Dank für deine Geduld! :)

    Der Vollständigkeit halber nachstehend noch die von mir auf Basis dieses Threads erstellte .Xmodmap, möglicherweise kann diese ja nochmal irgendwann jemand gebrauchen.

    Code:
    keycode 37  = Control_L
    keycode 64  = Alt_L
    keycode 113 = Alt_R
    keycode 115 = Super_L
    keycode 116 = Super_R
    
    keycode 94  = asciicircum degree    # Gradzeichen, Accent Circumflex und 
    keycode 49  = less greater          # spitze Klammern korrekt zuordnen
    
    clear Lock                          # Feststelltaste deaktivieren
    clear control                       # Zuordnung Control-Taste aufheben
    clear mod1                          # Zuordnung Alt-Taste aufheben
    
    add control = Super_L Super_R       # Linke und rechte Befehl-Taste neu zuordnen
    add mod1    = Control_L             # Linke Control-Taste neu zuordnen
    
     

Diese Seite empfehlen