• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Immer wieder Multimediatasten

pit234a

Well-Known Member
#26
Diese Datei kopiert man nach /usr/local/etc/uhidd.conf
ich habe keine solchen Tasten, lese aber deinen Beitrag mit Begeisterung.
Diesen Punkt verstehe ich nicht vollständig: kopierst du den Inhalt der /var/run/uhidd.ugenX.X/cc_keymap (eine einzige Datei für alle Tasten?) in die Datei /usr/local/etc/uhidd.conf oder ist letzteres ein Verzeichnis, wohin cc_keymap kopiert wird?
 

pit234a

Well-Known Member
#27
und vielleicht noch eine Randbemerkung: seit kurzem funktioniert bei mir in fbpanel auch das "volume" Plugin, das bisher nie etwas tat. Merkwürdigerweise trat es bei mir in Erscheinung, nachdem ich volumeicon installiert hatte. Ich hatte da plötzlich zwei Symbole in der Taskleiste. Es gab aber auch einen Versionsupdate bei fbpanel und vielleicht habe ich es einfach zuvor nicht bemerkt, dass ein neues Symbol vorhanden ist.
 

steinex

Well-Known Member
#28
Hallo @steinex, danke für Deine Arbeit. Ich habe das gerade abgearbeitet. Die Mute Taste funktioniert aber immer noch nicht. Und die Lauter- und Leisertasten funktionieren bei mir mit volumeicon auch ohne diesen Workaround. Damit kann ich aber leben.;)
Hi ralli,

leider habe ich zum Schluss was vergessen. Es reicht natürlich nicht nur die ~/.xmodmap anzulegen, sie muss mittels
Code:
xmodmap ~/.xmodmap
natürlich auch bei jedem Start von X geladen werden. Bei mir passiert das über die ~/.xinitrc, wie das bei großen DE's mit Login Manager und so funktioniert weiß ich allerdings nicht.

Ich vermute das war das einzige Problem, warum es bei dir schlussendlich nicht funktionierte.

ich habe keine solchen Tasten, lese aber deinen Beitrag mit Begeisterung.
Diesen Punkt verstehe ich nicht vollständig: kopierst du den Inhalt der /var/run/uhidd.ugenX.X/cc_keymap (eine einzige Datei für alle Tasten?) in die Datei /usr/local/etc/uhidd.conf oder ist letzteres ein Verzeichnis, wohin cc_keymap kopiert wird?
Danke!

Die Datei /var/run/uhidd.ugenX.X/cc_keymap wird zur Datei /usr/local/etc/uhidd.conf.
 
H

holgerw

Guest
Themenstarter #30
Hallo @steinex

ein sehr gutes Mini-Howto, wie ich finde, vielen Dank.

Ich habe das mal gerade bei meiner Cherry Tastatur durchgetestet, klappt unter plasma5 hervorragend. Es betrifft bei mir sogar die gleichen keycodes wie bei Dir, bei mir sind allerdings "leiser" und "mute/Unmute" umgekehrt, meine ~/.xmodmap:
Code:
keycode 170 = XF86AudioMute                  
keycode 184 = XF86AudioLowerVolume           
keycode 92 = XF86AudioRaiseVolume
Viele Grüße,
Holger
 

pit234a

Well-Known Member
#31
ich "würde denken", dass durch uhidd eine Zuordnung der Tasten erreicht wird. Wenn diese dann zu X durchgereicht wird, also ein Ergebnis in xev sichtbar wird, dann braucht man die Festlegung in der xmodmap vermutlich nicht, wenn der Fenstermanager das mitmacht. OpenBox zum Beispiel kann XF86Audio... und auch weitere Ereignisse direkt zuordnen. Das kann man halt gewöhnlichen Tasten zuordnen. Das Problem ist ja, wenn Multimediatasten nicht erkannt werden, dann liefern sie kein Ergebnis in xev und dann geht das halt eben nicht.
Der Weg über xmodmap ist ein allgemeinerer Weg und unabhängig vom Fenstermanager direkt in X verwurstelt.
Inwieweit das sich nun mit Konfigurationen einzelner Fenstermanager ins Gehege kommen kann, muss man wohl selbst erfahren.
 

steinex

Well-Known Member
#32
Naja, xmodmap sorgt ja überhaupt erst dafür das die durch uhidd zugeordneten Keycodes der Multimediatasten auf XF86Audio gemappt werden. Ohne xmodmap sieht X die Tasteneingaben zwar, aber es ist einfach nichts sinnvolles.

Wenn Openbox XF86Audio direkt unterstützt, könnte man sich sowas wie volumeicon wohl aber sparen, was XF86Audio abfängt und was daraus macht.
 

pit234a

Well-Known Member
#33
jaja. Ich glaube, ich habe irgendwie Mist geredet. Lass mich mal zeigen, was ich meine.

aus xev ermittle ich für die Taste 6 aus dem Nummernblock:
Code:
KeyRelease event, serial 47, synthetic NO, window 0x2a00001,
    root 0x258, subw 0x0, time 624337800, (847,144), root:(3022,189),
    state 0x10, keycode 85 (keysym 0xffb6, KP_6), same_screen YES,
    XLookupString gives 1 bytes: (36) "6"
    XFilterEvent returns: False
Damit füge ich in meine rc.xml, die OpenBox-Konfigurationsdatei, folgende Zeile ein:
Code:
<keybind key="KP_6"><action name="Execute"><command>mixer vol +5</command></action></keybind>
Damit ist die Taste 6 auf dem Nummernblock nun meine Lauter-Taste und stellt in 5er Schritten lauter. Die Funktion dazu ist /usr/sbin/mixer, also kein zusätzliches Paket und die benutze ich eben wie auf der Kommandozeile, nur dass ich die Action nun einer Taste zugeordnet habe.
Eine Mute ist ein wenig mehr Arbeit. Da wäre ein Script angesagt, um zuerst den alten Wert zu speichern, dann mixer auf Null zu setzen und bei Toggeln den alten Wert wiederherzustellen. Daran möchte ich nun nicht denken. Das ist auch Nebensache für mich.

Nur, die Taste 6 auf meinem Nummernblock ist ja eine bekannte Taste, ich brauche keinen uhidd, damit irgendwas in xev angezeigt wird und ich habe auf meiner Tastatur keine Sondertasten, um zu sehen, was damit passiert.
Ich habe die Dokumentation von OpenBox natürlich auch nicht im Kopf und weiß nicht, was man da alles als Tastaturnamen benutzen kann. Meine Tasten gaben bisher immer etwas brauchbares in xev.
Nun dachte ich mir, wenn uhidd dafür sorgt, dass ich einen Eintrag in xev bekomme, dann müsste ich den auch direkt in der rc.xml verwenden können, ohne zuvor das Ereignis noch an XF86Audio... binden zu müssen. Was ich brauche ist ja hauptsächlich die Aktion der Tastatur und dass sie etwas eindeutiges in X, sprich in xev erzeugt. Und das denke ich mir, erledigt eben uhidd mit entsprechendem Startaufruf und der passenden conf.

Wenn ich mit xmodmap die Tastencodes festgelegt habe, dann kann ich natürlich diese Festlegungen auch in meiner rc.xml benutzen. Ob eine Taste "XF86AudioLower" oder einfach "leiser" genannt wird, ist da auch eher egal, wenn ich die Funktion der xmodmap noch richtig erinnere. Dass es hier eine SW gibt, die dann automatisch auf einen Tastennamen reagiert (volumeicon) ist insofern seltsam, da ich erwarten würde, dass derartiges Verhalten konfigurierbar für die Anwendung sein müsste (also Taste "leiser" auch verwendbar sein sollte).

Heute tue ich mir mal wieder besonders schwer, ob das am Wetter liegt?
Hoffentlich versteht man die Beispiele wenigstens etwas besser, als mein Gestammel dazu.
 

steinex

Well-Known Member
#34
Ah, mir war nicht klar das Openbox selber beliebige keycodes verwursten kann. Das macht natürlich Sinn jetzt und man kann sich xmodmap sparen in dem Falle. Gut zu wissen!