You are not logged in.

#1 2011-05-20 21:09:50

plutoisaplanet
Member
Registered: 2008-07-17
Posts: 16

[SOLVED] Hotkeys on Asus 1015 PEM

Hey everyone,

So i've been trying to install arch linux on my Asus netbook (ASUS 1015 PEM) and it's been working spectacularly well. Things have just been working that I wouldnt've expected, and it's really great. My only problem is that I'm currently unable to get my hotkeys to work well. Specifically, the one to blank the screen doesn't work and the sound ones are laggy/buggy.

I followed the guide here to get acpi-eeepc-laptop working:
https://bbs.archlinux.org/viewtopic.php … 43#p881743

and it got a lot of my buttons working. The sound ones work (increase volume, decrease volume, and mute) but they are really buggy. Specifically, they're slow to react and it seems like they almost stack; if i hit increase volume 10 times but the volume is maxed out after 5 times, i have to lower the volume 5 times before i can actually lower the volume. It's like I have to cancel out the other 5 times. It's really peculiar and I was wondering whether anyone has run into similar problems and found a solution.

Here's my /etc/rc.conf:

#
# /etc/rc.conf - Main Configuration for Arch Linux
#

# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
# LOCALE: available languages can be listed with the 'locale -a' command
# DAEMON_LOCALE: If set to 'yes', use $LOCALE as the locale during daemon
# startup and during the boot process. If set to 'no', the C locale is used.
# HARDWARECLOCK: set to "UTC" or "localtime", any other value will result
#   in the hardware clock being left untouched (useful for virtualization)
#   Note: Using "localtime" is discouraged.
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
# VERBOSE: Verbose level (from 1 to 8). man 3 syslog for level info
#
LOCALE="en_US.UTF-8"
DAEMON_LOCALE="no"
HARDWARECLOCK="UTC"
TIMEZONE="America/Chicago"
KEYMAP="dvorak"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"
VERBOSE="3"

# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed
# MODULES: Modules to load at boot-up. Prefix with a ! to blacklist.
#
MOD_AUTOLOAD="yes"
MODULES=(!net-pf-10 !pcspkr loop acpi-cpufreq cpufreq_ondemand eeepc-wmi rfkill bluetooth eeepc_laptop)

# Udev settle timeout (default to 30)
UDEV_TIMEOUT=30

# Scan for FakeRAID (dmraid) Volumes at startup
USEDMRAID="no"

# Scan for BTRFS volumes at startup
USEBTRFS="no"

# Scan for LVM volume groups at startup, required if you use LVM
USELVM="no"

# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
#
HOSTNAME="luna"

# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces.
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
#   - prefix an entry in INTERFACES with a ! to disable it
#   - no hyphens in your interface names - Bash doesn't like it
# 
# DHCP:     Set your interface to "dhcp" (eth0="dhcp")
# Wireless: See network profiles below
#

#Static IP example
#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
eth0="dhcp"
INTERFACES=(!eth0 !wlan0)

# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
#   - prefix an entry in ROUTES with a ! to disable it
#
gateway="default gw 192.168.0.1"
ROUTES=(!gateway)

# Setting this to "yes" will skip network shutdown.
# This is required if your root device is on NFS.
NETWORK_PERSIST="no"

# Enable these network profiles at boot-up.  These are only useful
# if you happen to need multiple network configurations (ie, laptop users)
#   - set to 'menu' to present a menu during boot-up (dialog package required)
#   - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network.d
#
# This now requires the netcfg package
#
#NETWORKS=(main)

# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
#   - prefix a daemon with a ! to disable it
#   - prefix a daemon with a @ to start it up in the background
#
# If something other takes care of your hardware clock (ntpd, dual-boot...)
# you should disable 'hwclock' here.
#
DAEMONS=(hwclock @syslog-ng dbus @acpid !network !dhcdbd !networkmanager wicd netfs @crond @alsa)

and my /etc/conf.d/acpi-eeepc-generic.conf

#
# Configuration file for EeePC ACPI utilities
#
# Please edit to your liking!!!
#
# http://code.google.com/p/acpi-eeepc-generic/
# http://aur.archlinux.org/packages.php?ID=23318
#
# Copyright 2009 Nicolas Bigaouette
# This file is part of acpi-eeepc-generic.
#
# acpi-eeepc-generic is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# acpi-eeepc-generic is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with acpi-eeepc-generic.  If not, see <http://www.gnu.org/licenses/>.
#
#################################################################
#
# Put your username in "XUSER". It _is_ important.
#
# Some defaults are defined, but
# they might not work on your system. For example, the task manager
# used is "lxtask", which is part of the LXDE desktop environment.
# You can install it with "pacman -S lxtask". You can use
# something else if you want, just be sure to edit the appropriate
# variable.
#
#################################################################
# Format:
# Format of the settings is as follow:
#   VARIABLE_NAME=("command number 1" "command number 2" "etc.")
#
#################################################################
# Note that:
#   -Commands with spaces _need_ to be double-quoted
#   -You can put as many commands as you want, as in the previous example
#   -Some defaults are provided which might not work on your
#    system. Please edit as your liking. Look at
#    COMMANDS_WIFI_POST_UP for example. It uses by
#    default "wicd" for for network management. It is killed and
#    re-run to save battery. If you don't use wicd, please remove
#    it from the commands to run!!!
#   -All commands are executed as root. To execute a command as
#    yourself (not root), put @ in front of the command. This allow
#    graphical applications to work.
#   -If a key is not working, uncomment KEY_SHOW. It will show
#    you the code of the key you pressed. Then report it to me
#    with your model number.
#   -Change your wifi module. By default it uses "rt2860sta", which
#    is the one used in the 901/1000*.
#   -You can choose between different OSD:
#       libnotify: by default (GTK), you need "notification-daemon"
#       knotify: OSD used by KDE, you need "kdebase"
#       dzen: Small OSD, you need "dzen2"
#       NONE: You guessed it... none :)
#
#################################################################
# Different helper script you can use:
#
#   Rotate the screen
#       /etc/acpi/eeepc/acpi-eeepc-generic-rotate-lvds.sh
#   Suspend to ram
#       /etc/acpi/eeepc/acpi-eeepc-generic-suspend2ram.sh
#   Toggle bluetooth on and off
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-bluetooth.sh
#   Toggle between different monitors
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-displays.sh
#   Toggle a suspension lock on and off
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-lock-suspend.sh
#   Toggle card reader on and off
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-cardr.sh
#   Change between supported screen resolutions
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-resolution.sh
#   Enable or disable the touchpad (needs SHM)
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-touchpad.sh
#   Toggle webcam on and off
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-webcam.sh
#   Toggle wifi on and off
#       /etc/acpi/eeepc/acpi-eeepc-generic-toggle-wifi.sh
#
#################################################################
# Different hardware states can be saved and restored when needed.
# To restore at boot, just add "eeepc-restore" to your DAEMONS
# array in /etc/rc.conf
#################################################################

### Fallback user to be used for X session if autodetection fails
XUSER=parth

### Choose what kind of notification you want. libnotify is the
### default, but can disable it with NONE.
NOTIFY="libnotify"  # Gnome, XFCE, GTK
#NOTIFY="kdialog"   # KDE, QT
#NOTIFY="dzen"      # dwm, wmii, xmonad or any other
#NOTIFY="naughty"   # Awesome window manager
#NOTIFY=NONE
NOTIFY_DURATION="2000" # Duration, in ms, of the OSD

### Show the ACPI key event
#KEY_SHOW="1"

### Some scripts needs to be run as root. Specify how to gain priviledges
SUDO="sudo"
#SUDO="kdesu -i eee"
#SUDO="gksu" # Append "--sudo-mode" to use sudo instead of su

#################################################################
### Drivers used by this Eee. Most used are "rt2860sta", "ath9k"
### and "iwlagn". For Madwifi, you can try this exact list:
###     "wlan_tkip" "wlan_ccmp" "ath_pci" "ath_rate_sample" "ath_hal" "wlan_scan_sta" "wlan"
WIFI_DRIVERS=("rt2860sta")
BLUETOOTH_DRIVERS=("bluetooth")
CAMERA_DRIVERS=("uvcvideo")
# Let acpi-eeepc-generic load/unload modules?
#DRIVERS_LOAD="no"      # default: yes
#DRIVERS_UNLOAD="no"    # default: yes

#################################################################
### Volume options
ALSA_VOLUME_MIXER=("Master") # Mixer(s) to change volume

#################################################################
### Defined commands on specific key press
### Please edit to what you want!!!
### Some defaults are provided, but they might not work on your
### system if you don't have the utility installed.

COMMANDS_POWER_BUTTON=("/sbin/shutdown -t3 -h now")
# Users of LXDE might consider the following:
#COMMANDS_POWER_BUTTON=("@_LXSESSION_PID=`pidof lxsession` lxde-logout")
# See http://code.google.com/p/acpi-eeepc-generic/issues/detail?id=26
# and http://wiki.archlinux.org/index.php/LXDE#Shutdown_and_Reboot_from_LXDE

# These are the 4 silver buttons, located above the Fn+F2 to
# Fn+F6 on certain models and the Fn+Spacebar. The first just
# shutdown your screen to save power. The second toggle the touchpad on and off.
# Note the "@" in from of the two user button commands: because
# of this, theese commands will be executed as yourself and not root.
# The User1, User2 & User3 (when available) are executed as your username!!!
COMMANDS_BUTTON_BLANK=("xset dpms force off")
COMMANDS_BUTTON_RESOLUTION=("/etc/acpi/eeepc/acpi-eeepc-generic-toggle-touchpad.sh")
COMMANDS_BUTTON_USER1=("@terminal")
COMMANDS_BUTTON_USER2=("@pcmanfm --no-desktop")

COMMANDS_SHE_TOGGLE=("/etc/acpi/eeepc/acpi-eeepc-generic-toggle-she.sh")

COMMANDS_SLEEP=("/etc/acpi/eeepc/acpi-eeepc-generic-suspend2ram.sh")
# On some models, calling the wifi toggle script can prevent the card from
# being re-enabled. If you have that problem, just don't call the script and
# let the BIOS dis/enable the card.
# See http://wiki.github.com/nbigaouette/acpi-eeepc-generic/wireless
COMMANDS_WIFI_TOGGLE=("")
COMMANDS_WIFI_UP=()
COMMANDS_WIFI_DOWN=()
COMMANDS_WIFI_PRE_UP=()
#COMMANDS_WIFI_POST_UP=("/etc/rc.d/wicd start" "@wicd-client")
#COMMANDS_WIFI_PRE_DOWN=("pkill wicd-client" "/etc/rc.d/wicd stop" "pkill wpa_supplicant" "pkill dhcpcd")
COMMANDS_WIFI_POST_UP=()
COMMANDS_WIFI_PRE_DOWN=()
COMMANDS_WIFI_POST_DOWN=()
COMMANDS_BLUETOOTH_TOGGLE=("/etc/acpi/eeepc/acpi-eeepc-generic-toggle-bluetooth.sh")
COMMANDS_BLUETOOTH_UP=()
COMMANDS_BLUETOOTH_DOWN=()
COMMANDS_BLUETOOTH_PRE_UP=()
COMMANDS_BLUETOOTH_POST_UP=()
COMMANDS_BLUETOOTH_PRE_DOWN=()
COMMANDS_BLUETOOTH_POST_DOWN=()
COMMANDS_TOUCHPAD_TOGGLE=("/etc/acpi/eeepc/acpi-eeepc-generic-toggle-touchpad.sh")
COMMANDS_RESOLUTION=("/etc/acpi/eeepc/acpi-eeepc-generic-toggle-resolution.sh")
COMMANDS_BRIGHTNESS_DOWN=() # Brightness down controled by BIOS
COMMANDS_BRIGHTNESS_UP=()   # Brightness up controled by BIOS
#COMMANDS_SCREEN_OFF=(/etc/acpi/eeepc/acpi-eeepc-generic-rotate-lvds.sh)
COMMANDS_SCREEN_OFF=("${COMMANDS_BLUETOOTH_TOGGLE[@]}")
#COMMANDS_XRANDR_TOGGLE=("@lxrandr") # Run as user (not root)
COMMANDS_XRANDR_TOGGLE=("/etc/acpi/eeepc/acpi-eeepc-generic-toggle-displays.sh")
COMMANDS_XRANDR_TOGGLE_VGA="above"  # VGA is: right-of, left-of, above or below of LVDS
COMMANDS_TASKM=("@lxtask")
#COMMANDS_TASKM=("@xterm htop")
#COMMANDS_TASKM=("@ksysguard")

# If you use OSS, you can use http://ossvol.sourceforge.net/
COMMANDS_MUTE=("alsa_toggle_mute")
COMMANDS_VOLUME_DOWN=("amixer set Master 5%-")
COMMANDS_VOLUME_UP=("amixer set Master 5%+")

COMMANDS_AC_UNPLUGGED=()
COMMANDS_AC_PLUGGED=()
COMMANDS_ON_LID_CLOSE="yes"
COMMANDS_LID_CLOSE_ON_AC=("xset dpms force off")        # Just turn the backlight off
#COMMANDS_LID_CLOSE_ON_AC=("${COMMANDS_SLEEP[@]}")      # Do the same as COMMANDS_SLEEP
COMMANDS_LID_CLOSE_ON_BATTERY=("${COMMANDS_SLEEP[@]}")  # Do the same as COMMANDS_SLEEP


#################################################################
### Check for these processes before suspending
SUSPEND_BLACKLISTED_PROCESSES=(vlc mplayer smplayer kmplayer skype dragon songbird-bin amarok)
### Change the suspend commands.
SUSPEND2RAM_COMMANDS=("echo -n \"mem\" > /sys/power/state") # Simple suspend
#SUSPEND2RAM_COMMANDS=("pm-suspend") # Use pm-utils
#SUSPEND_QUIRKS_VTSWITCH="yes"

#################################################################
### Display toggling options (excluding LVDS only, since you
### need that one!). You can use any of these three, in any order.
#XRANDR_AVAILABLE_MODES=("clone" "vga" "both")
XRANDR_AVAILABLE_MODES=("vga" "both")

#################################################################
### Restore feature: On boot, restore different hardware states
RESTORE_BLUETOOTH=0
RESTORE_BRIGHTNESS=0
RESTORE_TOUCHPAD=0
RESTORE_WIFI=0

#################################################################
### If you mount /var/log in ram (to protect an SSD drive), you
### might want to backup them on shutdown/suspend, just in case.
### Add "logsbackup" to your DAEMONS array in /etc/rc.conf. You
### can also set the folder where to send these compressed backups.
LOGSBACKUP_FOLDER="/logs_backup"

#################################################################
### Please comment/remove the following, to prove that you edited
### and read fully the file ;)
### Else, you will get a 20 second warning.
#EEEPC_CONF_DONE="no"

#EEEPC_MODEL="1015PEM"
#EEEPC_CPU="Atom"

Any help would be greatly appreciated, thank you!

-parth

Last edited by plutoisaplanet (2011-05-20 23:07:03)

Offline

#2 2011-05-20 23:05:48

plutoisaplanet
Member
Registered: 2008-07-17
Posts: 16

Re: [SOLVED] Hotkeys on Asus 1015 PEM

Okay, I was able to fix the issue by disabling the volume commands in etc/conf.d/acpi-eeepc-generic.conf (as shown in the code)

COMMANDS_MUTE=("")
COMMANDS_VOLUME_DOWN=("")
COMMANDS_VOLUME_UP=("")

and then having openbox bind the volume keys to commands (amixer sset Master toggle, amixer sset Master 5%+, etc.).
It's a workaround but it works.

As for blanking the screen it's not the biggest issue in the world so i'll probably leave it for another time.

-parth

Offline

Board footer

Powered by FluxBB