Version 40 (modified by 14 years ago) ( diff ) | ,
---|
Inhalte dieser Beschreibung
Neo 2 systemweit verfügbar machen (für alle Benutzer)
Neo ist schon dabei
Seit ca. zwei Jahren ist Neo bei jeder Linux-Distribution dabei. Allerdings bisher nur die ganz alte Version 1 oder „2.0rc1“. Um diese zu aktivieren, schaut man sich am Besten die Beispiele zur Aktivierung an.
Aktuelle Version von Neo 2 (root-Rechte erforderlich)
Wenn man schon ein Linux-System mit Neo Version 1 bzw. 2.0rc1 hat, dann kann man die entsprechende Dateien einfach durch die aktuellen aus dem SVN ersetzen. Anleitung:
- Es ist vielleicht ganz ratsam, vorher noch eine Sicherheitskopie zu erstellen – allerdings bekommt man die Originaldateien auch wieder irgendwo im Internet oder durch De- und Reinstallation des Pakets (heißt meist xkeyboard-config oder ähnlich), das die Dateien enthält:
tar -C /usr/share/X11/ -czf xkb-sicherung.tgz xkb/symbols/{de,level3,level5,shift} xkb/rules/{base,base.xml,evdev,evdev.xml} xkb/types/level5
- Die Datei http://neo-layout.org/xkb.tgz herunter laden, zum Beispiel so:
wget http://neo-layout.org/xkb.tgz
- Die heruntergeladene Datei an der Stelle /usr/share/X11/ entpacken (dabei werden vier alte Dateien, die in Schritt 1 gesichert wurden, überschrieben). Dies geht zum Beispiel in der Konsole/Terminal so:
# Möglichkeit 1 (funktioniert überall): su -c 'tar -C /usr/share/X11/ -xzf xkb.tgz' # root-Passwort benötigt # Möglichkeit 2 (funktioniert bei Ubuntu und ein paar wenigen anderen Systemen): sudo tar -C /usr/share/X11/ -xzf xkb.tgz
Eine fehlerfreie Version (siehe #141), die weniger aktuell ist, kann so heruntergeladen und installiert werden (beides in einem Schritt):
# Möglichkeit 1 (funktioniert überall): su -c 'wget http://wiki.neo-layout.org/export/1802/linux/X/de -O /usr/share/X11/xkb/symbols/de' # Möglichkeit 2 (funktioniert bei Ubuntu und ein paar wenigen anderen Systemen): sudo wget http://wiki.neo-layout.org/export/1802/linux/X/de -O /usr/share/X11/xkb/symbols/de
Für ältere Systeme (z.B Ubuntu 8.04) kann man dieVersion von Frank Stähr verwenden.
Für alle Benutzer (bereits bei der Anmeldung) Neo einstellen
Wer nicht einem der vielen einfachen Beispiele für eine systemweite (schon bei der Anmeldung und Passworteingabe) Aktivierung von Neo folgen will oder kann (weil das benutzte System zu alt ist), kann Neo auch manuell aktivieren:
vor X.org 7.3 (Sept. 2007): xorg.conf ändern
Am schönsten ist es, wenn man zwischen Neo und QWERTZ mittels Drücken der Rollentaste (Scroll-Lock) wechseln kann. Dazu trägt man folgendes in seine /etc/X11/xorg.conf ein:
Section "InputDevice" Identifier "Keyboard0" # heißt manchmal anders, hier nur ein Beispiel Driver "kbd" Option "XkbModel" "pc105" # es gibt manchmal auch Tastaturen mit nur 104 Tasten Option "XkbLayout" "de,de" # zwei verschiedene Belegungen, aber beide sind Varianten der de-Belegung Option "XkbVariant" "basic,neo" # QWERTZ als Standard, Neo als zweite Belegung Option "XkbOptions" "grp:sclk_toggle,grp_led:scroll" # Drücken von Scroll-Lock wechselt zwischen neo und qwertz, Scroll-LED zeigt Wechsel an EndSection
Man sollte, falls man den betreffenden Rechner nicht alleine nutzt, die XkbVariant in der Reihenfolge basic,neo (also QWERTZ als Standard, Neo als Zweitbelegung) schreiben, um unbedarften Mitnutzern des Rechners nicht vor den Kopf zu stoßen: „Hä, ich kann mein Passwort nicht eingeben“. Wenn man also Neo schreiben will, drückt man kurz die Rollentaste (Scroll-Lock) und los geht’s mit Neo. Nochmal Rollen und man ist wieder bei QWERTZ.
HAL (X.org 7.3 bis 7.5, X-Server 1.4 bis 1.7): 10-x11-input.fdi erstellen
Ab X.org 7.3 werden Tastatur und Maus nicht mehr nur von /etc/X11/xorg.conf bestimmt, sondern standardmäßig von HAL (Hardware Abstraction Layer). Um gleiche Einstellungen wie in obiger /etc/X11/xorg.conf vorzunehmen erstellt man in /etc/hal/fdi/policy/ (FIXME für andere Distributionen) eine Datei namens 10-x11-input.fdi mit folgendem Inhalt:
<?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keys"> <merge key="input.x11_driver" type="string">evdev</merge> <merge key="input.x11_options.XkbModel" type="string">evdev</merge> <merge key="input.x11_options.XkbLayout" type="string">de,de</merge> <merge key="input.x11_options.XkbVariant" type="string">basic,neo</merge> <merge key="input.x11_options.XkbOptions" type="string">grp:sclk_toggle,grp_led:scroll</merge> </match> </device> </deviceinfo>
Zum Teil findet man noch Hinweise und Beispiele mit den Keys: input.xkb.model, input.xkb.layout, input.xkb.options, …
, diese sind jedoch in der Regel veraltet, siehe hierzu auch den folgenden Abschnitt.
10-x11-input.fdi-Vorlage kopieren
Ich weiß nicht, wie allgemeingültig dies ist, aber bei mir (Debian Lenny) führte Obiges zu qwerty, während dieses Tutorial den rechten Weg wies:
Zunächst eine Vorlage der 10-x11-input.fdi kopieren:
sudo cp /usr/share/doc/hal/examples/10-x11-input.fdi /etc/hal/fdi/policy/
In dieser dem keyboard-Abschnitt Folgendes hinzufügen (dies sollte in Bezug auf input.xkb.model
, input.xkb.layout
, input.xkb.options
, input.x11_options
, … den übrigen Zeilen ähneln):
<merge key="input.xkb.layout" type="string">de</merge> <merge key="input.xkb.variant" type="string">neo</merge>
Das Wechseln mit Rollen sollte mit Folgendem o. Ä. klappen, ist aber ungetestet:
<merge key="input.xkb.layout" type="string">de, de</merge> <merge key="input.xkb.variant" type="string">basic, neo</merge> <merge key="input.xkb.options" type="string">grp:sclk_toggle,grp_led:scroll</merge>
Das Resultat sieht dann z. B. wiefolgt aus:
<?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.mouse"> <merge key="input.x11_driver" type="string">mouse</merge> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <merge key="input.x11_driver" type="string">evdev</merge> </match> </match> <match key="info.capabilities" contains="input.keys"> <merge key="input.x11_driver" type="string">keyboard</merge> <merge key="input.xkb.layout" type="string">de</merge> <merge key="input.xkb.variant" type="string">neo</merge> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <merge key="input.x11_driver" type="string">evdev</merge> </match> </match> </device> </deviceinfo>
udev (seit X-Server 1.8, 2010): xorg.conf.d
Da HAL nicht mehr weiterentwickelt wird, wechselt X.org in Zukunft wieder die Konfiguration. Im neuen X-Server, der in X.org 7.6 enthalten ist, wird udev für Device-Hotplugging benutzt. Die Konfiguration ist nicht mehr in xorg.conf, sondern in den Dateien des Verzeichnisses /etc/X11/xorg.conf.d/ enthalten. In einer dieser Dateien (bei openSuse 11.3 z.B. 90-keytable.conf) findet sich ein Eintrag „LocalKeyboard“, den man z.B. wie folgt editieren kann:
Section "InputClass" Identifier "LocalKeyboard" MatchIsKeyboard "on" Option "XkbRules" "base" Option "XkbModel" "evdev" Option "XkbLayout" "de" Option "XkbVariant" "neo" # Neo-Layout benutzen Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection
Komplexere Layouts kann man auch einstellen, z.B. analog zum Beispiel im Abschnitt xorg.conf.
Für einzelnen Benutzer vorübergehend einstellen
Will man Neo nicht systemweit, sondern nur für einen Benutzer aktivieren, benutzt man folgenden Befehl:
setxkbmap de neo -option
Der Schalter -option dient dazu, schon aktivierte Optionen (z.B. in Gnome), die mit Neo nicht kompatibel sind, zu deaktivieren.
Diese Einstellung kann man für diesen Benutzer auch permanent machen, indem man die Zeile in ~/.profile einträgt.
Will man QWERTZ wieder reaktivieren, tippt man entsprechend
setxkbmap de
Zwischen zwei Layouts umschalten
Unter X kann man bis zu vier Layouts einrichten. Dies kann man mit den grafischen Oberflächen ebenso erreichen wie in der Kommandozeile:
Es können sich aber schnell Inkompatibilitäten ergeben, da X die Layouts nicht richtig voneinander isoliert; siehe die Tickets #174, #175.
QWERTZ als Erstlayout, Neo als Zweitlayout
Um die Funktionalität zu testen, kann folgender Einzeiler benutzt werden:
setxkbmap -layout de,de -variant basic,neo -option -option grp:sclk_toggle -option grp_led:scroll
Dies bewirkt, dass die Tastaturbelegung durch Drücken der Rollen-Taste (Scroll-Lock) zwischen QWERTZ und Neo wechselt. (Dies geht scheinbar nur, wenn Num-Lock nicht aktiviert ist)
Man beachte, dass bei dieser Verwendung unter älteren X-Servern die Ebenen 4 und 6 evtl. nicht verfügbar sind, siehe #174.
Neo als Erstlayout, QWERTZ als Zweitlayout
Prinzipiell läuft dieser Fall analog zum letzten, also per
setxkbmap -layout de,de -variant neo,basic -option -option grp:sclk_toggle -option grp_led:scroll
Hier verhalten sich aber einige Tasten bei QWERTZ wie unter Neo, so die #-Taste (aktiviert die dritte Ebene), die <-Taste (aktiviert die nichtvorhandene 5. Ebene) usw. siehe #175. Mit dem in diesem Ticket angegebenen, etwas komplizierteren Verfahren kann man dieses Problem aber umgehen, sofern es sich störend auswirkt.
Neo-Einrichtung unter Linux
Neo-Einrichtung auf anderen Systemen
Hauptseite