KDE und Logitech Cordless Tastatur

Post Reply
Message
Author
Slartibartfas

KDE und Logitech Cordless Tastatur

#1 Post by Slartibartfas »

Da ich mir schon mal die Mühe gemacht habe aufzuschreiben wie man unter KDE2 die Softkeys der og Tatatur belegen kann, poste ich mal keine Frage, sondern eine Antwort auf eine nicht gestellte Frage. Vielleicht hat sich das ganze aber bereits mit der final KDE 2.1 erledigt.
In dieser Anleitung erkläre ich die Schritte, die notwendig sind, um die zusätzlichen Tasten der
Logitech Desktop Tastatur unter KDE benutzen zu können. Ich habe leider keine elegantere
Lösung gefunden.
Zu meiner Konfiguration:

XFree86 4.0.2
KDE2.1 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 .Xmaodmap ein paar Einträge
hinzugefügt.

$HOME/.Xmodmap

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. Dh. unter jedem
Windowmanager 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 Menueintrag.
Doch zunächst habe ich ein paar kleine Scripte zur Steuerung der Lautstärke und des xmms
geschrieben.

Script 1 rxmms:

#!/bin/sh
if test $# -ne 1; then
echo "rxmms {-p|-u|-s|-f|-r}"
exit1
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

Script 2 tonstop:

#!/bin/sh

mute=$(amixer get Master | grep "[<!--no-->mute<!--no-->]")

${mute:+true}

if test "$mute"; then
amixer set Master unmute
else
amixer set Master mute
fi

Script 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 Scripte müssen natürlich ausführbar sein und innerhalb der PATH-Umgebung liegen.

Für jeden der folgenden Befehle habe ich einen Menueintrag im K-Menu erzeugt(Zusammengefast 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).

Post Reply