Konfiguration/Samsung NC10 Hotkeys

Artikel Getestet.png

Dieser Artikel wurde getestet unter:

Vorwort

Dieser Artikel beschreibt, wie man die verschiedenen Hotkeys auf einem Samsung NC10 mit Hilfe von xbindkeys, xrandr, xbacklight und einigen kleinen Scripten zum Laufen bekommt.

Artikel Hinweis.png

Folgende Hotkeys werden nach diesem HowTo funktionieren:

  • Fn+Esc - Suspend
  • Fn+F4 - Bildschirm-Auswahl
  • Fn+F5 - LCD an/aus
  • Fn+F6 - Stumm an/aus
  • Fn+F7 - KDE4 Systemeinstellungen
  • Fn+F8 - Energieprofil-Auswahl
  • Fn+F9 - WLAN an/aus
  • Fn+F12 - Bildschirm sperren
  • Fn+Pfeiltaste rechts - Lautstärke verringern
  • Fn+Pfeiltaste links - Lautstärke erhöhen
  • Fn+Pfeiltaste hoch - Helligkeit erhöhen
  • Fn+Pfeiltaste runter - Helligkeit verringern

Anleitung

Damit die Scripte problemfrei funktionieren, sind die Programme xbindkeys und xrandr nötig.

# Nur nötig falls die oben genannten Programme nicht bereits installiert sind
sudo apt-get update && sudo apt-get install xbindkeys xrandr xbacklight

Zu dem müsst ihr folgendes in eure ~/.xbindkeysrc eintragen:

#Screen Switch
"~/.nc10-scripts/screen-switch &"
   m:0x0 + c:235                 
   XF86Display                   

#LCD ON / OFF
"~/.nc10-scripts/lcd-onoff &"
   m:0x0 + c:156
   XF86Launch1

#WLAN ON / OFF
"~/.nc10-scripts/wlan-onoff &"
   m:0x0 + c:246
   XF86WLAN

#Systemsettings
"systemsettings &"
   m:0x0 + c:157
   XF86Launch2

#Energyprofile Switch
"~/.nc10-scripts/energy-profile-switch &"
   m:0x0 + c:210
   XF86Launch3

#Lock screen
"qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock"
   m:0x0 + c:78
   Scroll_Lock

#Backlight UP
"xbacklight +10 &"
   m:0x0 + c:233
   XF86MonBrightnessUp

#Backlight DOWN
"xbacklight -10 &"
   m:0x0 + c:232
   XF86MonBrightnessDown

Nun müsst ihr euch nur noch die Scripte, welche sich um die verschiedenen Hotkey-Funktionen kümmeren, kopieren, in den Ordner ~/.nc10-scripts/ einfügen:


  • ~/.nc10-scripts/screen-switch
#!/bin/bash                              
echo x >> /tmp/screen-switch.state       
STATE=$(grep -c x /tmp/screen-switch.state)
VGA_STATE=$(xrandr | grep "VGA" | gawk '{ print $2 }')

if [ "$STATE" == "1" ] && [ "$VGA_STATE" == "connected" ]; then
       xrandr --output LVDS --mode 1024x600 --output VGA --mode 1024x768
elif [ "$STATE" == "2" ] && [ "$VGA_STATE" == "connected" ]; then
       xrandr --output LVDS --off --output VGA --mode 1024x768
elif [ "$STATE" == "3" ]; then
       xrandr --output LVDS --mode 1024x600 --output VGA --off
       rm /tmp/screen-switch.state
else
       kdialog --sorry "Es ist kein externer Monitor angeschlossen"
       rm /tmp/screen-switch.state
fi


  • ~/.nc10-scripts/lcd-onoff
#!/bin/bash                                 
echo x >> /tmp/lcd-onoff.state          
STATE=$(grep -c x /tmp/lcd-onoff.state) 

if [ "$STATE" == "1" ]; then
        xrandr --output LVDS --off
elif [ "$STATE" == "2" ]; then
        xrandr --output LVDS --mode 1024x600
        rm /tmp/lcd-onoff.state
else
        kdialog --sorry "Das Display konnte leider nicht ausgeschaltet werden"
        rm /tmp/lcd-onoff.state
fi


  • ~/.nc10-scripts/wlan-onoff
#!/bin/bash                                  
if lsmod | grep ath5k > /dev/null; then      
        kdesudo -c "modprobe -r ath5k"
        kdialog --passivepopup "WLAN-Schnittstelle wlan0 wurde deaktiviert" 5 --title "Netzwerkverwaltung"
else
        kdesudo -c "modprobe ath5k"
        kdialog --passivepopup "WLAN-Schnittstelle wlan0 wurde aktiviert" 5 --title "Netzwerkverwaltung"
fi


  • ~/.nc10-scripts/energy-profile-switch
#!/bin/bash                                                
echo x >> /tmp/energy-profile-switch.state                 
STATE=$(grep -c x /tmp/energy-profile-switch.state)        

if [ "$STATE" == "1" ]; then
        qdbus org.kde.powerdevilsystem /modules/powerdevil org.kde.PowerDevil.setProfile "Performance"
elif [ "$STATE" == "2" ]; then                                                                        
       qdbus org.kde.powerdevilsystem /modules/powerdevil org.kde.PowerDevil.setProfile "Presentation"
elif [ "$STATE" == "3" ]; then                                                                                 
        qdbus org.kde.powerdevilsystem /modules/powerdevil org.kde.PowerDevil.setProfile "Powersave"
elif [ "$STATE" == "4" ]; then
        qdbus org.kde.powerdevilsystem /modules/powerdevil org.kde.PowerDevil.setProfile "Aggressive Powersave"
elif [ "$STATE" == "5" ]; then
        qdbus org.kde.powerdevilsystem /modules/powerdevil org.kde.PowerDevil.setProfile "Xtreme Powersave"
        rm /tmp/energy-profile-switch.state
else
        kdialog --sorry "Sorry, das Energieprofil konnte nicht geändert werden."
        rm /tmp/energy-profile-switch.state
fi


oder als Alternative, die Scripte herunterladen

# Als normaler Nutzer
mkdir ~/.nc10-scripts/
wget http://privatepaste.com/download/b2SP24h8hK -O ~/.nc10-scripts/lcd-onoff
wget http://privatepaste.com/download/afygiYzZhu -O ~/.nc10-scripts/screen-switch
wget http://privatepaste.com/download/2f4xq9vLJ3 -O ~/.nc10-scripts/wlan-onoff
wget http://privatepaste.com/download/55Hq3lPP1F -O ~/.nc10-scripts/energy-profile-switch

und ausführbar machen.

chmod +x ~/.nc10-scripts/*

Abschließend müsst ihr nur noch das Programm xbindkeys im Autostart-Verzeichnis verlinken.

# Beispiel für KDE 
ln -s /usr/bin/xbindkeys ~/.kde/Autostart/

Wo dieses Verzeichnis liegt hängt vom Desktop ab, bei KDE liegt es z.B. unter ~/.kde/Autostart


So, dass dürfte geschafft sein. Nun sollten die Hotkeys für Helligkeit, Lautstärke und Bildschirm ohne Probleme funktionieren. ;-)