Logitech Cordless Tastatur und KDE2
In dieser Anleitung erkläre ich die Schritte, die notwendig sind, um die zusätzlichen Tasten derLogitech Desktop Tastatur unter KDE benutzen zu können.
Ich habe leider keine elegantere Lösung gefunden. Zu meiner Konfiguration:
- XFree86 4.0.2
- KDE2 beta 2
- Logitech Cordless Desktop Pro
- alsa sound
Ausschnitt aus der XF86Config
Option "XkbRules" "xfree86" Option "XkbModel" "logicordless" Option "XkbLayout" "de" Option "XkbVariant" "nodeadkeys"
Das erste Problem ergab sich aus der Tatsache, daß KDE trotz der Einstellung des Tastaturlayouts mit den Zusatztasten nichts anfangen konnte. Ich habe deshalb der .Xmodmap ein paar Einträge hinzugefügt.
keycode 223 = F15 keycode 178 = F16 keycode 236 = F17 keycode 229 = F18 keycode 230 = F19 keycode 160 = F20 keycode 174 = F21 keycode 176 = F22 keycode 162 = F23 keycode 164 = F24 keycode 144 = F25 keycode 153 = F26 keycode 115 = F27 keycode 116 = F28 keycode 117 = F29 keycode 161 = F30
Ein Eintrag in der ~/.xinit sorgt für die Übernahme der Änderungen.
xmodmap $HOME/.Xmodmap
Damit werden alle Zusatztasten wie ganz normale Funktionstasten behandelt. D.h. unter jedem Window-Manager außer KDE. Dieser überschreibt sämtliche Einstellungen von xmodmap. Durch Umbenennen der Datei /opt/kde2/share/applnk/Settings/Personalization/kcmlayout.desktop wird das Überschreiben verhindert. Eine Änderung des Tastaturlayouts unter KDE ist nun nicht mehr möglich.
An dieser Stelle wäre es nun einfach, den Extra-Funktionstasten einen Befehl zuzuordnen. Leider ist dieses Feature unter KDE nicht vorgesehen. Ich mache den Umweg über einen Menüeintrag. Doch zunächst habe ich ein paar kleine Skripte zur Steuerung der Lautstärke und des xmms geschrieben.
Skript 1 rxmms:
#!/bin/sh if test $# -ne 1; then echo "rxmms {-p-u-s-f-r}" exit 1 fi aktiv=$(ps aux grep "^$USER" grep "\bxmms") ${aktiv:+true} case "$1" in -p) xmms -p & ;; -u) xmms -u;; -s) if test "$aktiv"; then xmms -s else xmms & fi;; -f) xmms -f ;; -r) xmms -r ;; esac
Skript 2 tonstop:
#!/bin/sh mute=$(amixer get Master grep "\[mute\]") ${mute:+true} if test "$mute"; then amixer set Master unmute else amixer set Master mute fi
Skript 3 lautstaerke:
#!/bin/sh if test $# -ne 1; then echo "lautstaerke {+-}" exit 1 fi ton=$(amixer get Master grep "^\ \ [RF]\+" head -n 1 cut -d [ -f 2 cut -d % -f 1) case "$1" in +) if test $ton -le 95; then amixer set Master $[$ton+5]% > /dev/null fi;; -) if test $ton -ge 5; then amixer set Master $[$ton-5]% > /dev/null fi;; esac
Die Skripte müssen natürlich ausführbar sein und innerhalb der PATH-Umgebung liegen.
Für jeden der folgenden Befehle habe ich einen Menüeintrag im K-Menu erzeugt (zusammengefasst in einem Unterverzeichnis):
rxmms -p // Zum Starten und Abspielen des xmms rxmms -s // Stop rxmms -f // Forward rxmms -r // rev rxmms -u // Pause lautstaerke + // lauter lautstaerke - // leiser tonstop // mute/unmute
Da sich jedem Menueintrag eine Tatenkombination zuweisen lässt, kann ich nun auch den
Extra-Funktionstasten, sprich den Logitechsoftkeys zu ihrer Bestimmung verhelfen
(K->System->Menu-Editor; neuen Eintrag erzeugen; unter Command die og. Befehle eintragen; Karte
Advanced->Change; Custom key).