ACPI Events verarbeiten

JochenF

Well-Known Member
Hallo,
ich habe ein Problem die diversen Sondertasten meines Thinkpad T61 zu verarbeiten.
Das Modul acpi_ibm ist geladen:
Code:
$ dmesg|fgrep acpi_ibm
acpi_ibm0: <IBM ThinkPad ACPI Extras> on acpi0
devd.conf ist entsprechend der manpage konfiguriert:
Code:
$ cat /usr/local/etc/devd/thinkpad.conf
notify 10 {
   match "system"  "ACPI";
   match "subsystem"  "IBM";
   action "/usr/local/sbin/acpi_oem_exec.sh $notify ibm";
};
Und das Script exisitiert auch. Ich habe zu Beginn des Scriptes noch ein "logger $@" eingebaut, um zu sehen ob und wie es aufgerufen wird. Es erscheint aber nichts in /var/log/messages wenn ich z.B. eine Lautstärketaste drücke. Es sieht so aus als würde das Script nicht aufgerufen.

Woran könnte das liegen? Wie komme ich dahinter?
 
"Lauter" und "Leiser" liefern im xev keypress events, z.B. "XF86AudioLowerVolume". Mute liefert nichts, und die Helligkeits-Tasten auch nicht.
 
Nun, dann machen lauter und leiser schon mal keine ACPI Events.

Wie sieht es denn mit mute aus? Ich gehe davon aus, dass Hell/Dunkel eine Hardware-Geschichte ist, von der das OS erst mal nichts mitbekommt.
 
Code:
$ sysctl dev.acpi_ibm.0
dev.acpi_ibm.0.%desc: IBM ThinkPad ACPI Extras
dev.acpi_ibm.0.%driver: acpi_ibm
dev.acpi_ibm.0.%location: handle=\_SB_.PCI0.LPC_.EC__.HKEY
dev.acpi_ibm.0.%pnpinfo: _HID=IBM0068 _UID=0
dev.acpi_ibm.0.%parent: acpi0
dev.acpi_ibm.0.initialmask: 2060
dev.acpi_ibm.0.availmask: 16777215
dev.acpi_ibm.0.events: 0
dev.acpi_ibm.0.eventmask: 16777215
dev.acpi_ibm.0.hotkey: 422
dev.acpi_ibm.0.lcd_brightness: 0
dev.acpi_ibm.0.volume: 7
dev.acpi_ibm.0.mute: 0
dev.acpi_ibm.0.thinklight: 0
dev.acpi_ibm.0.bluetooth: 0
dev.acpi_ibm.0.wlan: 1
dev.acpi_ibm.0.fan_speed: 3027
dev.acpi_ibm.0.fan_level: 0
dev.acpi_ibm.0.fan: 1
dev.acpi_ibm.0.thermal: 47 39 34 -1 50 -1 29 -1
dev.acpi_ibm.0.handlerevents: NONE
 
Jetzt hab ich in openbox mal keybindings für den mixer reingemacht:
Code:
  <!-- Volume keys -->
   <keybind key="XF86AudioRaiseVolume">
  <action name="Execute">
  <command>mixer vol +5</command>
  </action>
  </keybind>
  <keybind key="XF86AudioLowerVolume">
  <action name="Execute">
  <command>mixer vol -5</command>
  </action>
  </keybind>
<!--  <keybind key="XF86AudioMute">
  <action name="Execute">
  <command>mixer vol 0</command>
  </action>
  </keybind> -->

Das funktioniert. Lauter/Leiser geht. Und "Mute" wird offenbar durch die Hardware gemacht. Einmal "Mute" drücken macht stumm, mit Lauter/Leiser geht der Ton wieder an. Merkwürdiges Verhalten, aber es geht. :-)
 
Ah, ok. Die Lautstärketasten liefern dann zwar immer noch nichts, aber die Heligkeitstasten rufen dann das Script auf. Scheint also prinzipiell zu funktionieren. Nur dass bei dem T61 die Lautstärketasten kein ACPI Event auslösen.
 
Zurück
Oben