How to fix Asus hotkeys

I have an Asus N56v laptop, and not all of the shortcut keys even work even though they have been assigned specific functions from the current installed drivers for it, possibly due to bugs with the driver software. So I am wondering if there is a way to fix these dead hotkeys to assign them their proper functions when pressed?

A lot of these hotkeys are triggered by the use of fn key combinations. Here’s just some of the keys that don’t work when pressed.

Toggle Wi-Fi ON/OFF – fn+F2

Touchpad ON/OFF – fn+F9

Projector/Screen Switch – fn+F8 (for some reason this combination acts as if the p key is pressed)

Webcam – fn+V

some other shortcut keys produce 0xf8 when pressed, which translates to unknown key. In my Keyboard prefs where I can assign shortcuts to keys they have the function assigned to those keys, but those functions do not execute.

The Touchpad toggle for example; I can press the key, it gives me the OSD for it, but it doesn’t toggle the Touchpad state between ON or OFF.

doing lsmod gives me;

$ lsmod | grep asus
asus_nb_wmi            24576  0
asus_wmi               28672  1 asus_nb_wmi
sparse_keymap          16384  1 asus_wmi
wmi                    20480  2 mxm_wmi,asus_wmi
video                  40960  2 i915,asus_wmi

$ lsmod | grep -e ath9k -e asus
asus_nb_wmi            24576  0
asus_wmi               28672  1 asus_nb_wmi
sparse_keymap          16384  1 asus_wmi
ath9k                 143360  0
ath9k_common           36864  1 ath9k
ath9k_hw              466944  2 ath9k_common,ath9k
ath                    32768  3 ath9k_common,ath9k,ath9k_hw
mac80211              737280  4 ath9k,rt2x00lib,rt2x00usb,rt2800lib
cfg80211              565248  5 ath,ath9k_common,ath9k,mac80211,rt2x00lib
wmi                    20480  2 mxm_wmi,asus_wmi
video                  40960  2 i915,asus_wmi

ACPI control script for asus-wireless-off.sh

event=hotkey (ATKD|HOTK) 0000005e
action=/etc/acpi/asus-wireless.sh off

and for asus-wireless-on.sh

event=hotkey (ATKD|HOTK) 0000005f
action=/etc/acpi/asus-wireless.sh on

this is the main script that is calls from

#!/bin/sh
# Find and toggle wireless devices on Asus laptops

test -f /usr/share/acpi-support/state-funcs || exit 0

. /usr/share/acpi-support/state-funcs

toggleAllWirelessStates

The thing that’s pretty much bothered me is that when on Linux, the LED for the Wi-Fi doesn’t light up to tell you the current state of ON or OFF, but it lights up when in Windows. It’s little minor things, but it’s not too big of a deal if I can’t get these to work properly.

Alternate Text Gọi ngay