Attached patch adds hotkey support for the Zenbook UX31A. I wasn't sure what to name the magic string, so please rename to whatever you find more suitable.
Next step in getting the Zenbook UX31A to work better is finding a neat way to prevent acpivideo from attaching. After the recent refactoring it seems I need to define ws_get_param and ws_set_param in acpiasus to do that, right? Frank
Index: dev/acpi/acpiasus.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpiasus.c,v retrieving revision 1.17 diff -u -p -r1.17 acpiasus.c --- dev/acpi/acpiasus.c 21 Feb 2014 18:49:06 -0000 1.17 +++ dev/acpi/acpiasus.c 14 Jul 2016 17:10:20 -0000 @@ -95,7 +95,7 @@ struct cfdriver acpiasus_cd = { NULL, "acpiasus", DV_DULL }; -const char *acpiasus_hids[] = { ACPI_DEV_ASUS, 0 }; +const char *acpiasus_hids[] = { ACPI_DEV_ASUS, ACPI_DEV_ASUS2, 0 }; int acpiasus_match(struct device *parent, void *match, void *aux) Index: dev/acpi/acpireg.h =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpireg.h,v retrieving revision 1.36 diff -u -p -r1.36 acpireg.h --- dev/acpi/acpireg.h 10 Jul 2016 20:36:41 -0000 1.36 +++ dev/acpi/acpireg.h 14 Jul 2016 17:10:20 -0000 @@ -764,6 +764,7 @@ struct acpi_ivrs { #define ACPI_DEV_FFB "FIXEDBUTTON" /* Fixed Feature Button */ #define ACPI_DEV_ASUS "ASUS010" /* ASUS Hotkeys */ #define ACPI_DEV_ASUS1 "ATK0100" /* ASUS Special Device */ +#define ACPI_DEV_ASUS2 "pnp0c14" /* ASUS Zenbook UX31A Hotkeys */ #define ACPI_DEV_IBM "IBM0068" /* IBM ThinkPad support */ #define ACPI_DEV_LENOVO "LEN0068" /* Lenovo ThinkPad support */ #define ACPI_DEV_ASUSAIBOOSTER "ATK0110" /* ASUSTeK AI Booster */