Version 7 (modified by Hendrik, 14 years ago) ( diff )

updates für neuere systeme ohne HAL

Hardwarekonflikte

Hardware, die davon ausgeht, dass ein Qwerty, Qwertz oder vergleichbares Tastaturlayout verwendet wird, braucht unter Umständen die eine oder andere Anpassung. Hier finden sich passende Vorschläge, wie man diese Probleme umgeht. Haben Sie selber Hardware wie z. B. USB-Geräte die eine Tastatur emulieren und nun nicht mehr richtig funktionieren? Erweitern Sie einfach diesen Artikel um Ihr Gerät. Auch auf der Mailingliste wird man versuchen, Ihnen weiterzuhelfen.

Yubico Yubikey

Der Yubikey ist ein USB-Dongle, das eine sichere Authentifizierung ermöglicht und keine Client-Software benötigt. Dies ist möglich da ein USB-Keyboard emuliert wird von diesem Gerät und für den Code Zeichen verwendet werden die auf den gängigen Qwert*-Tastaturen identisch sind.

Linux/OS X/Windows/…

Unter allen Betriebssystemen lässt sich dieses Gerät direkt verwenden, wenn das Tastaturlayout für den Authentifizierungsvorgang kurzfristig auf ein klassisches Layout wie de oder us umgeschaltet wird, z. B. über die Systemleiste.

Linux, komfortabel

HAL und udev machen es auf aktuellen Linux-Systemen möglich, für den Yubikey ein spezifisches Layout zu setzen, welches nur für dieses USB-Gerät gilt und daher betrieben werden kann, ohne dass das Layout gewechselt werden muss.

Systeme ohne HAL

Da die Funktionalität von HAL in udev eingebracht worden ist findet sich der HAL-Dienst in manchen neueren Distributionen (wie Ubuntu 10.04) bereits nicht mehr. Es ist für diese Lösung also nötig eine passende udev-Regel anzulegen.

Unter Ubuntu geht dies leicht mit:

gksudo gedit /etc/udev/rules.d/90-yubikey.rules

Die folgenden zwei Regeln erledigen dies für Yubikeys der ersten und zweiten Generation:

ACTION=="add|change", SUBSYSTEM=="input", ATTRS{name}=="Yubico Yubico Yubikey Touch",  \
ENV{x11_options.Xkb_Layout}="de",ENV{x11_options.Xkb_Variant}="nodeadkeys", 
ACTION=="add|change", SUBSYSTEM=="input", ATTRS{name}=="Yubico Yubico Yubikey II",  \
ENV{x11_options.Xkb_Layout}="de",ENV{x11_options.Xkb_Variant}="nodeadkeys", 

Damit nicht ein Neustart notwendig wird um die neuen Regeln zu aktivieren reicht folgender Befehl:

sudo udevadm control --reload-rules

Systeme mit HAL

Bei Systemen die den HAL-Dienst verwenden ist es durch eine FDI-Datei möglich diese Lösung zu verwenden.

Unter Ubuntu legt man diese leicht an mit:

gksudo gedit /etc/hal/fdi/policy/yubikey.fdi

Die folgende FDI-Datei sollte direkt übernommen werden können; input.xkb.* ist angeblich als überholt markiert, aber auch in aktuellen Systemen scheinen sie noch problemlos zu funktionieren.

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
    <match key="info.product" string="Yubico Yubico Yubikey Touch">
        <merge key="input.x11_driver" type="string">evdev</merge>
        <merge key="input.x11_options.XkbRules" type="string">evdev</merge>
        <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
        <merge key="input.x11_options.XkbLayout" type="string">us</merge>
        <merge key="input.x11_options.XkbVariant" type="string" />
    </match>
</device>
</deviceinfo>

Logitech USB Receiver

Verschiedene Hersteller bieten Funkfernbedienungen an mit denen man Präsentationssoftware (wie PowerPoint oder OpenOffice Impress) steuern kann. Eine Labtec-Fernbedienung beispielweise, die unter lsusb als "UltraX Media Remote" erscheint, bietet dem Nutzer vier Knöpfe. Diese senden an das als USB HID-Tastatur erkannte Empfangsgerät Keycodes für F5, PageUp, PageDown und b.

Unter Neo funktionieren die ersten drei Tasten ohne Probleme aber um die letzte Taste, welche bei Impress einen schwarzen Bildschirm zeigt, zum Laufen zu kriegen muss das Tastaturlayout gewechselt werden. Es besteht theoretisch auch die Möglichkeit der Taste z die Abdunklungsfunktion zuzuweisen, aber unter den Tastenkürzeln für Impress ließ sich kein Eintrag zu b finden.

Lösung

Die gleichen Ansätze, welche beim Yubikey vorgestellt wurden, treffen auch auf dieses Gerät zu. Damit die HAL-Policy auch hier verwendet werden kann, muss die Zeile match wie folgt aussehen:

 <match key="input.product" string="Logitech USB Receiver">
Note: See TracWiki for help on using the wiki.