Thinkpad Buttons

Aus Digiwiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Übersicht

Was geht womit?

Fn+*:

  • Thinkpad ACPI

Leiser/Lauter/Mute mit grafischer Darstellung:

  • tpb (hässlich, alt, aber funktioniert)
  • Shortcuts in gnome (sowie anderen Windowmanagern)

Access IBM button

  • tpb

Zusätzliche Thinkpad Tasten (Browser Keys, Rotate Display,...):

  • Xmodmap + Shortcuts im entsprechenden Programm/Windowmanager


ACPI

Hinweis:
Generell kann man sich mit
acpi_listen

die erkannten Fn-Tastenkombinationen, sowie deren Werte anzeigen lassen

FN+F*

(Allgemein für: Fn tastenkombinationen, Fn-F4 funktioniert teilweise auch ohne)

Das Modul thinkpad_acpi (ehemals ibm_acpi) muss zum erkennen der Tastenkombinationen mit

modprobe thinkpad_acpi

geladen werden.

Alle von thinkad_acpi erkennbaren Fn-tastenkombinationen kann man mit

echo enable,0xffff >/proc/acpi/ibm/hotkey

einschalten.


in /etc/acpi/events erstellt man dann ein File mit dem Inhalt

event=hier Eventname aus acpi_listen
action=hier Befehl 

Beispiel für FN+F5

event=ibm/hotkey HKEY 00000080 00001005
action=/etc/acpi/lockbtn.sh

mehr unter

http://www.thinkwiki.org/wiki/How_to_get_special_keys_to_work

achja, und damit das ganze dann auch funktioniert müssen wir acpid neustarten

/etc/init.d/acpid force-reload


Hinweis:
Module die beim Start automatisch mitgeladen werden sollen schreibt man in die /etc/modules. Bsp:
thinkpad_acpi
video

FN+Pos1 und FN+Ende (Displayhelligkeit) beim X61t (ältere Modelle funktionieren auch ohne)

Damit die Shortcuts erkannt werden benötigen wir das Modul video, und thinkpad_acpi zum Einstellen der Helligkeit

modprobe video
modprobe thinkpad_acpi

mit

acpi_listen

kann man feststellen welche Events die Tasten produzieren, und diese dann nach /etc/acpi/events schreiben

#/etc/acpi/lenovo-brightness-up
event=video LCD0 00000086 00000000
action=echo "4"> /proc/acpi/ibm/cmos
#/etc/acpi/lenovo-brightness-down
event=video LCD0 00000087 00000000
action=echo "5"> /proc/acpi/ibm/cmos

Gleiches Spiel wie oben: damit das ganze dann auch funktioniert müssen wir acpid neustarten

/etc/init.d/acpid force-reload
Alternativ:
Normalerweise sollte man für die Steuerung der Helligkeit
/proc/acpi/ibm/brightness

verwenden. Bei mir hat allerdings echo "up">/proc/acpi/ibm/brightness die Helligkeit nur manchmal erhöht, manchmal auch gedimmt (gleiches gilt für echo "down">/proc/acpi/ibm/brightness)


Hinweis:
Module die beim Start automatisch mitgeladen werden sollen schreibt man in die /etc/modules. Bsp:
thinkpad_acpi
video

tpb

(für: OSD für Access IBM button, Lautstärke, Helligkeit,...)

tpb packete mit synaptic runterladen

modul nvram mit modprobe laden

dev mit:

chmod 664 /dev/nvram

lesbar machen

benutzer zur Gruppe nvram hinzufügen

zum automatischen Laden nvram in /etc/modules eintragen

wie man den Access IBM button nutzbar macht liest man hier: http://www.thinkwiki.org/wiki/ThinkVantage_Button

Zuordnung zusätzlicher Thinkpad Tasten

Zuordnung

(Browsertasten auf allen Thinkpads, Tablet Tasten auf X61t)

Damit wir die Tasten verwenden können fügen wir sie der Keymap hinzu. Dazu legen wir eine Datei .Xmodmap im Home Verzeichnis des entsprechenden Nutzers an, die den folgenden Inhalt hat:

für Tablet Tasten (203=rotate display, 158=menu)

keycode 203 = F17
keycode 158 = F18

für Browser Tasten

keycode 234 = F19
keycode 233 = F20
Alternativ:
können natürlich auch andere Bezeichner verwendet werden, wie z.B.
keycode 234 = XF86Back
keycode 233 = XF86Forward

Die beiden hat Firefox nur nicht so sehr gemocht (um genau zu sein beide als ein und die selbe Taste erkannt)

Die restlichen Tablet PC Tasten sollen den Gleichen Zweck wie andere Tasten auf der Tastatur erfüllen. Damit die Zuordnung bei jedem Start geschieht schreiben wir sie in die /etc/rc.local

setkeycodes 6b 1   # Esc->esc
setkeycodes 69 96  # Enter->Enter
setkeycodes 6e 105 # Richtungstaste Links->Links
setkeycodes 6d 106 # Richtungstaste Rechts->Rechts
setkeycodes 71 103 # Richtungstaste Hoch->Hoch
setkeycodes 6f 108 # Richtungstaste Runter->Runter


Verwendung

Starten von Programmen unter Gnome

Beispiel für ein python rotate script (/usr/local/bin/rotate) für Tablet-rotate button (zuvor zugeordnet zu F17)


im gconf-editor eintragen

/apps/metacity/global_keybindings/run_command1  =  F17
/apps/metacity/keybinding_commands/command1     =  /usr/local/bin/rotate


Browser Tasten

KDE: im Kontrollzentrum kann z.B. dann eine weitere Verwendung spezialisiert werden


Gnome fragt einen beim nächsten Start ob die Datei geladen werden soll.

F19 und F20 lassen sich dann unter Tastaturkombinationen (gnome-keybinding-properties) z.B. zum Wechseln des Desktops verwenden


E17 erkennt eh so gut wie jeden Keycode. Will man dennoch (z.B. für Firefox) die gerade erstellte Keymap laden, startet man mit e17

xmodmap .Xmodmap


Firefox 2.* kann man auch beibringen die Tasten (eventuell auch in Kombination mit Modifier-Keys wie alt) wie in Windows als Navigatios-keys zu nutzen.

Dazu editieren wir die datei <firefox-directory>/chrome/browser/content/browser/browser.xul also z.B.

/usr/lib/mozilla-firefox/chrome/browser/content/browser/browser.xul

und ersetzen die keycodes der Einträge mit der id "goBackKb" und "goForwardKb" oder "goBackKb2" und "goForwardKb2" mit unseren als z.B.

<key id="goBackKb"  keycode="VK_F19" command="Browser:Back" modifiers="shift"/>
<key id="goForwardKb"  keycode="VK_F20" command="Browser:Forward" modifiers="shift"/>

legt auf Shift+Browser_Vorwärts_Taste die Eine Seite vor und Shift+Browser_Zurück_Taste die Eine Seite zurück


Tasten mit XKB ummappen (z.B. um gleiches verhalten für externe und interne Tastatur zu erhalten)

Gnome mag z.B. nur einen shortcut pro Funktion, arbeitet man abwechselnd mit interner (zusätzliche Thinkpad Tasten) und externer Tastatur, hilft X Keyboard. Im Ordner /usr/share/X11/xkb/compat befinden sich Regeln für X-Tastaturlayouts.

Ich verwende z.B. zum ummappen von F19 und F20 (Browserkeys) das folgende File /usr/share/X11/xkb/compat/thinkpad

default partial xkb_compatibility "basic"  {
    interpret.repeat= True;

    interpret  F19{
        action = Redirect(Key=<LEFT>, modifiers=Mod1);
    };

    interpret  F20{
        action = Redirect(Key=<RGHT>, modifiers=Mod1);
    };
};

Dadurch wird F19 als Alt+Links und F20 als Alt+Rechts interpretiert.

in /usr/share/X11/xkb/compat/complete muss natürlich die Änderung mit aufgenommen werden. In meinem Fall, indem wir ein

   augment "thinkpad"

an das Ende der Liste anhängen.

Bekannte Probleme

Mein Audio Mute Button geht seit Kernel 2.6.23 nicht mehr

Ein Bios update schafft Abhilfe. Details was sich geändert hat hier: http://www.mail-archive.com/ibm-acpi-devel@lists.sourceforge.net/msg01166.html

Die Gnome Volume (Lautstärke) Anzeige hüpft wild hin und her

Das liegt wohl daran, dass sowohl am Hardware- als auch Software-Mixer die Lautstärke geändert werden soll. Das Problem ist, bei neueren (Lenovo) Thinkpads greifen beide Änderungen auf den gleichen zu.

Bisher hab ich da noch keine wirklich schöne Möglichkeit gefunden.

  • man deaktiviert die Shortcuts in Gnome und verwendet stattdessen tpb
  • in Gnome stellt man unter System>Einstellungen>Audio>Vorgegebene Mixerspur etwas anderes als HDA Intel ein (z.B. "Alsa PCM ... via Pulse Audio"). Dann hat man zwar eine quadratisch ansteigende Lautstärkereglung, aber besser als vorher ist das allemal.
Persönliche Werkzeuge