"Sonder-" Funktionstasten am Notebook belegen
"Sonder-" Funktionstasten am Notebook belegen
Hallo,
ich habe ein ASUS M6 Notebook und würde gerne die "Sonder-" Funktionstasten (wlan, emailprogramm, browser etc. an-/ausschalten) nutzen können.
Habe dazu auch einen Aritel unter http://de.wikibooks.org/wiki/Asus_M6N-K ... _ACPI#DSDT gefunden.
Mich würde nur mal interessieren, ob jemand Erfahrung damit hat und mir weiterhelfen kann bzw. Tips geben kann.
Des Weiteren würde ich gerne (wenn es denn überhaupt geht) die super tollen WINDOWS-Tasten auf meinem Notebook anders belegen. Beispielsweise gelangt man nach drücken einer der beiden Tasten im KDE-Menü oder so.
Wäre super, wenn mir jemand Tips geben könnte.
ich habe ein ASUS M6 Notebook und würde gerne die "Sonder-" Funktionstasten (wlan, emailprogramm, browser etc. an-/ausschalten) nutzen können.
Habe dazu auch einen Aritel unter http://de.wikibooks.org/wiki/Asus_M6N-K ... _ACPI#DSDT gefunden.
Mich würde nur mal interessieren, ob jemand Erfahrung damit hat und mir weiterhelfen kann bzw. Tips geben kann.
Des Weiteren würde ich gerne (wenn es denn überhaupt geht) die super tollen WINDOWS-Tasten auf meinem Notebook anders belegen. Beispielsweise gelangt man nach drücken einer der beiden Tasten im KDE-Menü oder so.
Wäre super, wenn mir jemand Tips geben könnte.
Oh, yeah!
Also, fuer die Sondertasten, die kann man via acpid abfangen und dann entsprechend Skripten starten lassen.
Dazu benoetigst du die Event-ID, die beim Druecken einer Taste per ACPI uebermittelt wird. Rausfinden kannst du diese z.B. durch acpi_listen. Nach dem Starten drueckst du die gewuenschte Taste und er sollte dir den Code dieser Taste ausgeben.
Schau dir mal /etc/acpi/events an. Dort liegen die Dateien, die festlegen, fuer welches Event welches Skript aufgerufen wird. Die Skripten liegen normal unter
Habe damit z.B. erst letztens bei meinem IBM T43 erreicht, dass ein das hibernate-Skript fuer den Suspend-to-disk aufruft, oder ein einen Suspend-to-Ram macht.
Voraussetzung ist natuerlich, dass du die ACPI-Unterstuetzung fuer dein Notebook schon entsprechend im Kernel eingebaut hast.
Zu KDE kann ich leider nichts sagen, das benutze ich nicht. Eventuell koennte es im Controlcenter aber was geben, wo man Tastenkombinationen konfigurieren kann und diese dann mit entsprechenden Aktionen verknuepfen kann.
Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.
Dazu benoetigst du die Event-ID, die beim Druecken einer Taste per ACPI uebermittelt wird. Rausfinden kannst du diese z.B. durch acpi_listen. Nach dem Starten drueckst du die gewuenschte Taste und er sollte dir den Code dieser Taste ausgeben.
Schau dir mal /etc/acpi/events an. Dort liegen die Dateien, die festlegen, fuer welches Event welches Skript aufgerufen wird. Die Skripten liegen normal unter
Code: Alles auswählen
/etc/acpi/
Code: Alles auswählen
FN+F12
Code: Alles auswählen
FN+F4
Voraussetzung ist natuerlich, dass du die ACPI-Unterstuetzung fuer dein Notebook schon entsprechend im Kernel eingebaut hast.
Zu KDE kann ich leider nichts sagen, das benutze ich nicht. Eventuell koennte es im Controlcenter aber was geben, wo man Tastenkombinationen konfigurieren kann und diese dann mit entsprechenden Aktionen verknuepfen kann.
Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.
Danke für die Antworten.
Bei mir im Kernel gibt es allerdings schon ein Modul für asus:
Entspricht ein CONFIG_ACPI_ASUS=m deinem asus_acpi Trigger.?
Wenn ich acpi_listen aufrufe und dann die "Funktions-" Tasten drücke, bekomme ich die Event-ID.
Was muss ich denn dann noch machen?
Muss die Event-ID in ein bestimmtes Scripts geschrieben werden oder kann ich ein neues Script erstellen und dieses dann (wie auch immer) aufrufen lassen?
Bei mir im Kernel gibt es allerdings schon ein Modul für asus:
Code: Alles auswählen
#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SOFTWARE_SUSPEND is not set
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=y
# CONFIG_ACPI_HOTKEY is not set
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_ASUS=m
# CONFIG_ACPI_IBM is not set
CONFIG_ACPI_TOSHIBA=m
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
Wenn ich acpi_listen aufrufe und dann die "Funktions-" Tasten drücke, bekomme ich die Event-ID.
Code: Alles auswählen
root@daniel-laptop:/etc/acpi/events# acpi_listen
hotkey ATKD 0000005d 00000000
hotkey ATKD 00000051 00000000
hotkey ATKD 00000050 00000000
hotkey ATKD 0000005c 00000000
hotkey ATKD 0000006a 00000000
Muss die Event-ID in ein bestimmtes Scripts geschrieben werden oder kann ich ein neues Script erstellen und dieses dann (wie auch immer) aufrufen lassen?
Oh, yeah!
Jo, alles paletti bei dir.
Jetzt am besten noch die Datei /etc/acpi/events/hotkey anlegen und mit folgendem Inhalt befüllen:
Dann legst du in action=/etc/acpi/hotkey.sh etwas folgendes ab:
Musst die Datei halt für die Keys entsprechend anpassen.
Fertig
Jetzt am besten noch die Datei /etc/acpi/events/hotkey anlegen und mit folgendem Inhalt befüllen:
Code: Alles auswählen
#/etc/acpi/events/hotkey
event=hotkey ATKD .*
action=/etc/acpi/hotkey.sh %e
Code: Alles auswählen
#!/bin/sh
case "$3" in
# Mute button (Fn+F6)
00000032) /usr/bin/amixer set Master toggle
;;
# Volume up button
00000030) /usr/bin/amixer set Master 1+
;;
# Volume down button
00000031) /usr/bin/amixer set Master 1-
;;
# Browser button
00000051) su - trigger -c "export DISPLAY=:0.0;/usr/bin/firefox &"
;;
# Mail button
00000050) su - trigger -c "export DISPLAY=:0.0;/usr/bin/thunderbird &"
;;
#Mehr davon.................
*) logger "ACPI hotkey $3 is not defined"
;;
Fertig
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
So, habe die Dateien angelegt, will aber noch nicht funktionieren.
Muss ich dazu den Rechner rebooten?
Was ich gemacht habe:
1. Anlegen der Datei hotkey unter /etc/acpi/events
2. Anlegen der Datei hotkey.sh
Muss ich dazu den Rechner rebooten?
Was ich gemacht habe:
1. Anlegen der Datei hotkey unter /etc/acpi/events
Code: Alles auswählen
-rw-r--r-- 1 root root 51 2006-05-30 17:49 hotkey
-rw-r--r-- 1 root root 423 2004-02-17 20:28 powerbtn
Code: Alles auswählen
daniel@daniel-laptop:/etc/acpi/events$ cat hotkey
event=hotkey ATKD .*
action=/etc/acpi/hotkey.sh %e
Code: Alles auswählen
daniel@daniel-laptop:/etc/acpi$ ll
insgesamt 16
-rwxr-xr-x 1 daniel daniel 2320 2005-11-19 14:52 default.sh
drwxr-xr-x 2 root root 4096 2006-05-30 17:49 events
-rwxr-xr-x 1 root root 187 2006-05-30 17:54 hotkey.sh
-rwxr-xr-x 1 root root 299 2004-10-01 11:11 powerbtn.sh
Code: Alles auswählen
daniel@daniel-laptop:/etc/acpi$ cat hotkey.sh
#!/bin/sh
case "$3" in
# Browser Button
00000051)su - daniel -c "export DISPLAY=:0.0;/usr/bin/firefox &"
;;
# Wenn nichts gefunden wird
*) logger "ACPI hotkey $3 is not defined"
;;
esac
Oh, yeah!
Oder liegt der Fehler vielleicht an dieser Zeile hier:
?
Wenn ich diese Zeile nämlich eingebe, wird natürlich nach dem Passwort des Benutzers daniel gefragt.
Code: Alles auswählen
su - daniel -c "export DISPLAY=:0.0;/usr/bin/firefox &"
Wenn ich diese Zeile nämlich eingebe, wird natürlich nach dem Passwort des Benutzers daniel gefragt.
Oh, yeah!
Jawohl, nach dem Restart funktioniert es.
Aber wieso muss ich denn kein Passwort für den user eingeben?
Theoretisch müsste ich doch die hotkeys, wie z.B. den für wlan so belegen können, dass er mir beim ersten drücken das modul ipw2200 läd und ein iwlist scanning durchführt. Beim zweiten Drücken der Taste soll dann das Modul ipw2200 wieder entfernt werden und ggf. sich die shell beenden.
Wenn ich ein acpi_listen ausführe und dann die WINDOWS-Taste drücke, passiert nichts. Wie belege ich denn diese Tasten???
Aber wieso muss ich denn kein Passwort für den user eingeben?
Theoretisch müsste ich doch die hotkeys, wie z.B. den für wlan so belegen können, dass er mir beim ersten drücken das modul ipw2200 läd und ein iwlist scanning durchführt. Beim zweiten Drücken der Taste soll dann das Modul ipw2200 wieder entfernt werden und ggf. sich die shell beenden.
Wenn ich ein acpi_listen ausführe und dann die WINDOWS-Taste drücke, passiert nichts. Wie belege ich denn diese Tasten???
Oh, yeah!
Über das Kontrollzentrum --> Tastenkürzel --> Sondertasten kann ich die X-Sondertasten Zuordnung sehen. Doch leider kann ich nichts für die Windows-Tasten (mod4) belegen.
Würde diese Tasten gerne so belegen, dass durch drücken einer der beiden Windows-Tasten das kde-Menü angezeigt wird (sprich, wenn ich mit der Maus aufs K klicke, der "Menübaum" (mit den Büroprogrammen, Dienstprogramm, Multimedia, etc.) erscheint.
Würde diese Tasten gerne so belegen, dass durch drücken einer der beiden Windows-Tasten das kde-Menü angezeigt wird (sprich, wenn ich mit der Maus aufs K klicke, der "Menübaum" (mit den Büroprogrammen, Dienstprogramm, Multimedia, etc.) erscheint.
Oh, yeah!