|
@@ -38,6 +38,24 @@ MODULE_LICENSE("GPL");
|
|
|
|
|
|
MODULE_ALIAS("wmi:"ASUS_NB_WMI_EVENT_GUID);
|
|
|
|
|
|
+/*
|
|
|
+ * WAPF defines the behavior of the Fn+Fx wlan key
|
|
|
+ * The significance of values is yet to be found, but
|
|
|
+ * most of the time:
|
|
|
+ * Bit | Bluetooth | WLAN
|
|
|
+ * 0 | Hardware | Hardware
|
|
|
+ * 1 | Hardware | Software
|
|
|
+ * 4 | Software | Software
|
|
|
+ */
|
|
|
+static uint wapf;
|
|
|
+module_param(wapf, uint, 0444);
|
|
|
+MODULE_PARM_DESC(wapf, "WAPF value");
|
|
|
+
|
|
|
+static void asus_nb_wmi_quirks(struct asus_wmi_driver *driver)
|
|
|
+{
|
|
|
+ driver->wapf = wapf;
|
|
|
+}
|
|
|
+
|
|
|
static const struct key_entry asus_nb_wmi_keymap[] = {
|
|
|
{ KE_KEY, 0x30, { KEY_VOLUMEUP } },
|
|
|
{ KE_KEY, 0x31, { KEY_VOLUMEDOWN } },
|
|
@@ -53,16 +71,16 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
|
|
|
{ KE_KEY, 0x51, { KEY_WWW } },
|
|
|
{ KE_KEY, 0x55, { KEY_CALC } },
|
|
|
{ KE_KEY, 0x5C, { KEY_F15 } }, /* Power Gear key */
|
|
|
- { KE_KEY, 0x5D, { KEY_WLAN } },
|
|
|
- { KE_KEY, 0x5E, { KEY_WLAN } },
|
|
|
- { KE_KEY, 0x5F, { KEY_WLAN } },
|
|
|
+ { KE_KEY, 0x5D, { KEY_WLAN } }, /* Wireless console Toggle */
|
|
|
+ { KE_KEY, 0x5E, { KEY_WLAN } }, /* Wireless console Enable */
|
|
|
+ { KE_KEY, 0x5F, { KEY_WLAN } }, /* Wireless console Disable */
|
|
|
{ KE_KEY, 0x60, { KEY_SWITCHVIDEOMODE } },
|
|
|
{ KE_KEY, 0x61, { KEY_SWITCHVIDEOMODE } },
|
|
|
{ KE_KEY, 0x62, { KEY_SWITCHVIDEOMODE } },
|
|
|
{ KE_KEY, 0x63, { KEY_SWITCHVIDEOMODE } },
|
|
|
{ KE_KEY, 0x6B, { KEY_TOUCHPAD_TOGGLE } },
|
|
|
- { KE_KEY, 0x7E, { KEY_BLUETOOTH } },
|
|
|
{ KE_KEY, 0x7D, { KEY_BLUETOOTH } },
|
|
|
+ { KE_KEY, 0x7E, { KEY_BLUETOOTH } },
|
|
|
{ KE_KEY, 0x82, { KEY_CAMERA } },
|
|
|
{ KE_KEY, 0x88, { KEY_RFKILL } },
|
|
|
{ KE_KEY, 0x8A, { KEY_PROG1 } },
|
|
@@ -81,6 +99,7 @@ static struct asus_wmi_driver asus_nb_wmi_driver = {
|
|
|
.keymap = asus_nb_wmi_keymap,
|
|
|
.input_name = "Asus WMI hotkeys",
|
|
|
.input_phys = ASUS_NB_WMI_FILE "/input0",
|
|
|
+ .quirks = asus_nb_wmi_quirks,
|
|
|
};
|
|
|
|
|
|
|