Login
Login-Name Passwort


 
Newsletter
Fr, 17. März 2000, 10:57

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).

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten